我正在使用JFreeChart显示一个月中每一天的值。 现在我想让我的x轴显示一个月而不是几天。 目前,我的图表的值在y轴上是double,在x轴上是int。
Timestamp ts = a.getTimestamp();
Double val = a.getVal();
series1.add(ts.getDate(), val);
我正在使用
plot.getDomainAxis().setRange(0, 31);
将日期范围设置为一个月和
xax.setTickUnit(new NumberTickUnit(7));
用于x轴在正确位置显示刻度。而不是显示日期(0,7,14,21,28),我希望它们是周(0,1,2,3,4)。
这是否可能,我怎么能这样做?
答案 0 :(得分:1)
您应该使用DateAxis
作为时间轴,例如ChartFactory.createTimeSeriesChart()
。然后,您可以使用setDateFormatOverride()
,就像他们展示here一样,使用SimpleDateFormat
进行"一周一个月。"
JFreeChart chart = ChartFactory.createTimeSeriesChart(…);
DateAxis axis = (DateAxis) chart.getXYPlot().getDomainAxis();
axis.setDateFormatOverride(new SimpleDateFormat("W"));