我试图将带有时间的线图(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系列中?
答案 0 :(得分:10)
使用org.jfree.data.time.TimeSeries
存储值,而不是数据集的XYSeries
和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;
}