我正在尝试在iReport 5.0.0中创建时间序列图表,并且想要删除 Y 轴和图表中的线条之间的空间,我该怎么做?
我已经有一个定制器类,并试图思考其中的一些值,但没有运气。非常感谢任何帮助。
在 y 轴上添加了一个日期刻度,看起来我的第一个日期是 2011-06-30,但出于某种原因,我的 x 轴从 2011-05-01 开始。
我正在尝试在iReport 5.0.0中创建时间序列图表,并且想要删除 Y 轴和图表中的线条之间的空间,我该怎么做?
我已经有一个定制器类,并试图思考其中的一些值,但没有运气。非常感谢任何帮助。
在 y 轴上添加了一个日期刻度,看起来我的第一个日期是 2011-06-30,但出于某种原因,我的 x 轴从 2011-05-01 开始。
在您的图表定制器中,将您的绘图转换为XYPlot
(或只是调用chart.getXYPlot()
),然后调用setAxisOffset
它。此方法设置轴和绘图之间的间隙。
(这里是javadoc)
从 y 轴移除间隙应该像调用一样简单:
plot.setAxisOffset(new RectangleInsets(5.0, 0.0, 5.0, 5.0));
可以通过以下方式消除所有间隙:
plot.setAxisOffset(new RectangleInsets(0.0, 0.0, 0.0, 0.0));
或者
plot.setAxisOffset(RectangleInsets.ZERO_INSETS);
编辑:
默认情况下,绘图将在第一个数据点之前开始。如果您希望数据立即从绘图边缘开始,请调用setMinimumDate
您的日期轴,将其设置为与数据集中第一个点相同的值。
轴现在可以工作了。我这样做了:
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR,2011);
cal.set(Calendar.MONTH,05);
cal.set(Calendar.DAY_OF_MONTH,30);
java.util.Date d = cal.getTime();
domainAxis.setMinimumDate(d);
上述答案已解决。我还将开辟一个关于如何获得系列中的第一个值的新线程。但这将是一个单独的问题。