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"));