加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 06:05:50 所属栏目:Java 来源:网络整理
导读:我试图将带有时间的线图(HH:MM:SS)显示为X轴和数字(作为Y轴). “时间”列的读取数据格式为HH:MM:SS. 我正在填充构建图表的数据集的方式如下 for (Row row : sheet){ Double sar_Val = poiGetCellValue(sar); Double date_val = poiGetCellValue(date); i
我试图将带有时间的线图(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);
}

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

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

解决方法

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

这将允许您添加RegularTimePeriod和double而不是两个double. 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;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读