如何使用Jfreechart在折线图的X轴上显示日期

Pra*_*ant 6 java graph jfreechart dataset

我试图将带有时间的线图(HH:MM:SS)显示为X轴和数字(作为Y轴)."时间"列的读取数据格式为HH:MM:SS.我正在填充构建图表的数据集的方式如下

for (Row row : sheet)
{
    Double sar_Val = poiGetCellValue(sar);
    Double date_val = poiGetCellValue(date);

    if(sar_Val != null && date_val != null)
    {
        series1.add(date_val,sar_Val);
    }
    dataset.addSeries(series1);
}
Run Code Online (Sandbox Code Playgroud)

//上面代码中的poiGetCellValue根据数据类型返回一个double

问题是我必须将格式为HH:MM:SS的"Time"列下的数据转换为某个double值并填充series1,因为add函数只接受double值.一旦我将值转换为double,如何在X轴中显示时间或是否有任何其他方法可以添加到XY系列?

Gra*_*amA 10

使用a org.jfree.data.time.TimeSeries存储值而不是数据集的XYSeriesa和a TimeSeriesCollection.

这将允许您添加一个RegularTimePeriod和一个而不是两个双打. RegularTimePeriod 是通过实现Day最终代码看起来像这样:

private XYDataset createDataset() {
    TimeSeries series1 = new TimeSeries("Data");
    Date date = new Date();
    series1.add(new Day(date),46.6);
    TimeSeriesCollection dataset = new TimeSeriesCollection();
    dataset.addSeries(series1);
    return dataset;
}
Run Code Online (Sandbox Code Playgroud)