我正在使用 JFreeChart 库来创建图表。我需要在同一张图表上呈现大量数据。因此,我有许多范围轴描述。不幸的是,当范围轴太多时,图表不再可见。可以通过调用这个简单的线条使图表可见(其中 plot 是一个 XYPlot 实例):
int axises = plot.getRangeAxisCount();
for (int i = 0; i < axises; i++) {
plot.getRangeAxis(i).setVisible(false);
}
这个简单的代码部分隐藏了所有 RangeAxes。执行该代码后,图表没有范围轴的任何描述,但它是可见的。
但不幸的是,我无法弄清楚如何确定图表在处理期间是否可见。
对我来说重要的信息在:
chartPanel.getChartRenderingInfo().getPlotInfo().getDataArea().getWidth()
但不幸的是,我在图表上执行了许多操作(例如缩放、移动等),因此当图表状态发生变化时,我每次都需要获取这些信息。每当调用 PlotChangeListener 接口的 plotChanged() 方法时,我都无法获取该信息,因为没有绘图(未触发此事件)。ChartChangeListener 中的 chartChanged() 方法过早触发 - chartPanel.getChartRenderingInfo().getPlotInfo().getDataArea().getWidth() 返回旧值。有任何想法吗?