我正在使用 JFreeChart 显示一个月中每一天的值。 现在我想让我的 x 轴显示一个月中的几周而不是几天。 目前,我的图表的 y 轴值是 double,x 轴值是 int。
时间戳 ts = a.getTimestamp();
双 val = a.getVal();
series1.add(ts.getDate(), val);
我正在使用
plot.getDomainAxis().setRange(0, 31);
将天数范围设置为一个月,并且
xax.setTickUnit(new NumberTickUnit(7));
使 x 轴在正确的位置显示刻度。我希望显示的是周(0、1、2、3、4),而不是显示天(0、7、14、21、28)。
这可能吗?我怎样才能做到这一点?
最佳答案
您应该使用 DateAxis
对于您的时间轴,例如 ChartFactory.createTimeSeriesChart()
做。然后你可以使用setDateFormatOverride()
,就像它们显示的 here 一样。 ,以及 SimpleDateFormat
对于“一个月中的一周”。
JFreeChart chart = ChartFactory.createTimeSeriesChart(…);
DateAxis axis = (DateAxis) chart.getXYPlot().getDomainAxis();
axis.setDateFormatOverride(new SimpleDateFormat("W"));
关于java - Jfreechart:在 x 轴上显示周数的天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43676446/