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