如何在TimeSeriesChart中设置Domain轴的时间间隔? 现在我有带有标签的域轴,看起来像:22.00 23.00、00.00、1.00、2.00 等。
我怎样才能将它们设置为:2月11日、2月12日等。 仅当我缩放图表时,我才应该能够看到所有时间。
编辑:现在我在 SimpleDateFormat
的帮助下解决了这个问题。
DateAxis dateAxis = (DateAxis) plot.getDomainAxis();
DateFormatSymbols dfs = DateFormatSymbols.getInstance(); // default locale
dateAxis.setDateFormatOverride(new SimpleDateFormat("dd-MMM-HH:mm", dfs));
图表显示:
编辑:问题仍然悬而未决:是否可以为域轴设置诸如按天分组之类的内容?
编辑:更多信息:) 我尝试获取上周的一些数据,但如果数据库中的数据仅 1 或 2 天,图表将如下所示:
正如您所看到的,域轴上的时间轴存储了从 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);
然后图表没有显示任何数据
问题是如何按天制作图表组数据(也许可以借助 Zoom ),如下图所示?
最佳答案
如果您添加任何 RegularTimePeriod
到 TimeSeries
,相应的轴将使用推断的周期作为格式化指南。可以找到使用 Day
的相关示例 here .
附录:另请参阅相关的 answer关于DateTickUnit
。
关于java - JFreeChart时间序列图表设置域区间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9332059/