Java JFreeChart TimeSeries轴在非军事时间
我试图使用Java JFreeChart TimeSeries轴在非军事时间,java,time-series,jfreechart,renjin,Java,Time Series,Jfreechart,Renjin,我试图使用JFreeChart在Java中绘制TimeSeries数据,但是数据由调用的输出的双倍组成。将数据添加到TimeSeries的代码如下: for (int i=0; i<series2Values.length; i++) { if (!Double.isNaN(series2Values[i])) { series2.add(new Hour((int)times[i], new Day()), series2Values[i]); } els
JFreeChart
在Java中绘制TimeSeries
数据,但是数据由调用的输出的双倍组成。将数据添加到TimeSeries
的代码如下:
for (int i=0; i<series2Values.length; i++) {
if (!Double.isNaN(series2Values[i])) {
series2.add(new Hour((int)times[i], new Day()), series2Values[i]);
} else {
series2.add(new Hour((int)times[i], new Day()), null);
}
}
final TimeSeriesCollection dataset2 = new TimeSeriesCollection();
dataset2.addSeries(series2);
JFreeChart chart2 = ChartFactory.createTimeSeriesChart(title, "Time (Hour)", "Vehicles Parked", dataset2, true, true, false);
ChartFrame frame2 = new ChartFrame(title, chart2, false);
frame2.pack();
frame2.setIconImage(img.getImage());
frame2.setVisible(true);
异常建议的addOrUpdate()
方法只会覆盖12小时前的第一个数据点,而不是创建一个新的数据点。我想改为以12小时格式显示数据,并显示AM和PM
使用JFreeChart
是否有一种方便的方法,或者更方便的方法是更改代码,以便调用Renjin
返回格式化的内容,而不仅仅是1到24之间的纯整数?(例如,已格式化的时间字符串)
我不熟悉
Renjin
,但假设一个Date
值表示自
工作得很好,我必须做一些转换,这是我必须使用的最后一行代码
((DateAxis)chart2.getXYPlot().getDomainAxis()).setDateFormatOverride(新的SimpleDateFormat(“hh:mm a”)代码>
Exception in thread "AWT-EventQueue-0" org.jfree.data.general.SeriesException: You are attempting to add an observation for the time period [6,12/7/2016] but the series already contains an observation for that time period. Duplicates are not permitted. Try using the addOrUpdate() method.
axis.setDateFormatOverride(new SimpleDateFormat("hh:mm"));