CombinedDomainXYPlot에서 도메인 축 크기 조정
CombinedDomainXYPlot을 활용하여 여러 하위 플롯 간에 도메인 축을 공유할 때 범위 축이 다음으로 조정되는 것으로 관찰됩니다. 데이터는 변경되지만 도메인 축은 변경되지 않습니다. 이 문제를 이해하고 해결하려면 플롯의 기본 메커니즘을 자세히 살펴봐야 합니다.
도메인 축의 결합 범위
CombinedDomainXYPlot은 공유 도메인 축의 최대 범위를 설정합니다. , 축 공유를 활성화합니다. 시리즈 가시성 변경은 공유 도메인 축에 직접적인 영향을 미치지 않습니다. 그러나 데이터 세트를 변경하면 구성() 메서드를 통해 도메인 축이 업데이트됩니다. 이를 통해 서브플롯의 범위 축을 독립적으로 업데이트할 수 있습니다.
도메인 축 자동 업데이트
공유 도메인 축을 자동으로 조정하려면 addSeries() 또는 RemoveSeries를 사용하세요. () 대신 setSeriesVisible()을 사용합니다. 이러한 메소드는 도메인 축 구성을 트리거합니다.
사용자 정의 예
아래 코드 예는 다음과 같은 경우 구성()을 호출하여 도메인 축이 업데이트되는 CombinedDomainXYPlot을 보여줍니다. 서브플롯이 업데이트되거나 시리즈가 숨겨져 있습니다.
mainPlot.getDomainAxis().configure();
고려 사항
setAutoRange() 전환에 대해 제안된 접근 방식은 단일 구성() 호출로 대체될 수 있지만 효과는 그렇지 않을 수 있습니다. 데이터와 최대 범위는 변경되지 않으므로 눈에 띄게 표시됩니다.
public static void init() { XYItemRenderer renderer = new StandardXYItemRenderer(SHAPES_AND_LINES); XYPlot plot1 = new XYPlot( generateData(), null, new NumberAxis("Range 1"), renderer); XYPlot plot2 = new XYPlot( generateData(), null, new NumberAxis("Range 2"), renderer); final CombinedDomainXYPlot plot = new CombinedDomainXYPlot(new NumberAxis("Domain")); plot.setDomainPannable(true); plot.setRangePannable(true); plot.add(plot1); plot.add(plot2); plot.setOrientation(PlotOrientation.VERTICAL); JFreeChart chart = new JFreeChart( "Combined Plots", JFreeChart.DEFAULT_TITLE_FONT, plot, true); ChartPanel chartPanel = new ChartPanel(chart); chartPanel.setPreferredSize(new Dimension(800, 500)); JPanel controlPanel = new JPanel(); controlPanel.add(new JButton(new UpdateAction(plot, 0))); controlPanel.add(new JButton(new UpdateAction(plot, 1))); for (int i = 0; i < MAX; i++) { JCheckBox jcb = new JCheckBox(new VisibleAction(renderer, i)); jcb.setSelected(true); renderer.setSeriesVisible(i, true); controlPanel.add(jcb); } JFrame frame = new JFrame("Combined Plot Example"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.add(chartPanel, BorderLayout.CENTER); frame.add(controlPanel, BorderLayout.SOUTH); frame.pack(); frame.setLocationRelativeTo(null); frame.setVisible(true); }
위 내용은 JFreeChart의 CombinedDomainXYPlot에서 도메인 축의 크기를 동적으로 조정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!