Java iReport 5.0.0:删除时间序列图表Y栏和绘图之间的空间
我正在尝试在iReport 5.0.0中创建一个Timeseries图表,并希望删除图表中Y轴和线条之间的空间,我该如何做 我已经有了一个Customizer类,并尝试使用其中的一些值,但没有成功。非常感谢您的帮助Java iReport 5.0.0:删除时间序列图表Y栏和绘图之间的空间,java,charts,jasper-reports,timeserieschart,Java,Charts,Jasper Reports,Timeserieschart,我正在尝试在iReport 5.0.0中创建一个Timeseries图表,并希望删除图表中Y轴和线条之间的空间,我该如何做 我已经有了一个Customizer类,并尝试使用其中的一些值,但没有成功。非常感谢您的帮助 在y轴上添加了一个日期刻度,我的第一个日期似乎是2011-06-30,但由于som原因,我的x轴从2011-05-01开始。在图表自定义程序中,将绘图转换为XYPlot(或者只需调用chart.getXYPlot()),然后调用setAxisOffset。此方法设置轴和绘图之间的间隙
在y轴上添加了一个日期刻度,我的第一个日期似乎是2011-06-30,但由于som原因,我的x轴从2011-05-01开始。在图表自定义程序中,将绘图转换为
XYPlot
(或者只需调用chart.getXYPlot()
),然后调用setAxisOffset
。此方法设置轴和绘图之间的间隙。
从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));
或
编辑:
默认情况下,绘图将在第一个数据点之前稍早开始。如果希望数据立即从绘图边缘开始,请在日期轴上调用
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);
上述答案已解决。我还将打开一个关于如何获取系列中的第一个值的新线程。但这将是一个单独的问题。嗨,乔恩,谢谢你的回答。现在看起来好一点了,但是y轴和直线之间还有一个间隙。它可能和x轴有关吗?它似乎每4个月显示一次日期,所以meaby它不知怎么把页岩推错了?例如2011年7月、2011年10月等等。@user25565,我已经加入了一个快速编辑来解决您的问题。非常感谢,这似乎使图表看起来不错。我补充了上面最后一个问题。在那之后,我觉得我非常满意,并且会将这个问题标记为已解决。我想我会为这个问题单独提出一个问题。我想这个案子已经解决了。
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);