我试图将带有时间的线图(HH:MM:SS)显示为X轴和数字(作为Y轴).
@H_403_2@“时间”列的读取数据格式为HH:MM:SS.
@H_403_2@我正在填充构建图表的数据集的方式如下
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轴中显示时间@H_403_2@或者是否有任何其他方法可以添加到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; }