我的问题是我不知道如何在JFreeChart中以00:00:00.000格式指定X轴的时间。如何在JFreeChart中将00:00:00.000格式的时间分配给X轴
我正在写一个应用程序,它会得到CSV文件,其中列看起来像这样的数据:
时间accelerationX accelerationY accelerationZ
我找的例子,但我没有找到任何可能帮助我的东西。
我的代码:
public ChartService() {
final CombinedDomainXYPlot plot = new CombinedDomainXYPlot(new DateAxis("Time"));
this.datasets = new TimeSeriesCollection[SUBPLOT_COUNT];
for (int i = 0; i < SUBPLOT_COUNT; i++) {
this.lastValue[i] = 100.0;
final TimeSeries series = new TimeSeries(Y_AXIS_TITLES[i], Millisecond.class);
// this.series.add(new SimpleDateFormat("hh:mm:ss.mmm"), 0.2222);
this.datasets[i] = new TimeSeriesCollection(series);
final NumberAxis rangeAxis = new NumberAxis(Y_AXIS_TITLES[i]);
rangeAxis.setAutoRangeIncludesZero(false);
final XYPlot subplot = new XYPlot(
this.datasets[i], null, rangeAxis, new StandardXYItemRenderer()
);
subplot.setBackgroundPaint(Color.lightGray);
subplot.setDomainGridlinePaint(Color.white);
subplot.setRangeGridlinePaint(Color.white);
plot.add(subplot);
}
final JFreeChart chart = new JFreeChart("Dynamic Data Demo 3", plot);
chart.setBorderPaint(Color.black);
chart.setBorderVisible(true);
chart.setBackgroundPaint(Color.white);
plot.setBackgroundPaint(Color.lightGray);
plot.setDomainGridlinePaint(Color.white);
plot.setRangeGridlinePaint(Color.white);
final ValueAxis axis = plot.getDomainAxis();
axis.setAutoRange(true);
axis.setFixedAutoRange(60000.0); // 60 seconds
final JPanel content = new JPanel(new BorderLayout());
final ChartPanel chartPanel = new ChartPanel(chart);
content.add(chartPanel);
chartPanel.setPreferredSize(new java.awt.Dimension(790, 620));
chartPanel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
this.add(content);
}
请帮助!
你的问题还不清楚。你是不是要以给定的格式出现,或者你想将给定格式的数据转换为Jfree图表能够理解的时间戳对象? – 2012-04-18 17:27:07
我想将格式为00:00:00.000的时间转换为JFreeChart能够理解的对象。 – erni 2012-04-18 17:38:55