JFreeCharts TimeSeriesChart设置域间隔

时间:2012-02-17 16:36:23

标签: java eclipse-rcp jfreechart timeserieschart

如何在TimeSeriesChart中设置域轴的时间间隔? 现在我的域轴带有标签,如:22.00 23.00,00.00,1.00,2.00等。

我如何设置它们:11 feb,12 feb等。 只有当我缩放图表时,我才有可能看到所有的小时。

编辑:现在我在SimpleDateFormat的帮助下解决了这个问题。

DateAxis dateAxis = (DateAxis) plot.getDomainAxis();
DateFormatSymbols dfs = DateFormatSymbols.getInstance(); // default locale
dateAxis.setDateFormatOverride(new SimpleDateFormat("dd-MMM-HH:mm", dfs));

显示的图表:

enter image description here

编辑:问题仍然存在:是否可以为域轴设置类似于分组的内容?

编辑:更多信息:) 我尝试获取上周期间的一些数据,但如果数据库中的数据仅为1或2天,则图表将如下所示: enter image description here

你可以看到域轴存储信息的时间从00.00(实际开始时间是23.xx)到10.00,并且它没有用,因为用户应该看到数据属于哪一天。在这种情况下,我创建了TimeSeries并将其填充为:

TimeSeries ts=new TimeSeries(name);
ts.addOrUpdate(new Hour(date), value);

如果我填写ts

ts.addOrUpdate(new Day(date), value);

然后图表没有显示任何数据

enter image description here

Quistion是如何按天计算图表组数据(可能借助缩放),如下图所示?

enter image description here

1 个答案:

答案 0 :(得分:1)

如果您向RegularTimePeriod添加任何TimeSeries,相应的轴将使用推断的时段作为格式指南。可以找到使用Day的相关示例here

附录:另请参阅与DateTickUnit相关的answer