Jfreechart:在 x 轴上显示周数以获取天数

Jfreechart: Display weeks on x axis for value of 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)。

这可能吗,我该怎么做?

你应该为 "week in month."

使用 DateAxis for your time axis, like ChartFactory.createTimeSeriesChart() does. Then you can use setDateFormatOverride(), like they show here, and the SimpleDateFormat
JFreeChart chart = ChartFactory.createTimeSeriesChart(…);
DateAxis axis = (DateAxis) chart.getXYPlot().getDomainAxis();
axis.setDateFormatOverride(new SimpleDateFormat("W"));