Jfreechart:在x轴上显示周数值的天数

时间:2017-04-28 09:13:55

标签: java graph jfreechart week-number days

我正在使用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)。

这是否可能,我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

您应该使用DateAxis作为时间轴,例如ChartFactory.createTimeSeriesChart()。然后,您可以使用setDateFormatOverride(),就像他们展示here一样,使用SimpleDateFormat进行"一周一个月。"

JFreeChart chart = ChartFactory.createTimeSeriesChart(…);
DateAxis axis = (DateAxis) chart.getXYPlot().getDomainAxis();
axis.setDateFormatOverride(new SimpleDateFormat("W"));