JFreeChart隐藏(某些)x轴值

时间:2016-05-29 09:36:27

标签: java jfreechart

我目前正在使用JFreeChart来创建折线图。此折线图每秒都会更新一个新值(当前为随机值)。通过这种方式,您可以了解数据在特定时间段内的变化情况。然而,在我添加了十多个值之后,它们就不再适合在线上了。我希望一次只显示5个值,这些值分布在整个时间范围内。这就是它现在的样子: enter image description here

注意图表底部的点。我希望它改为: enter image description here 请注意,我希望保留在这些点之间创建的所有点。因此,11:31:00,11:31:01,11:31:02等数据应该仍然存在。

这就是我目前所拥有的:

LocalDateTime date = LocalDateTime.now();

category = new DefaultCategoryDataset();
category.addValue(new Random().nextInt(10), "Data", date.getHour() + ":" + date.getMinute() + ":" + date.getSecond());

chart = ChartFactory.createLineChart("Values", "Time", "Data", category, PlotOrientation.VERTICAL, false, true, false);
((NumberAxis) ((CategoryPlot) chart.getPlot()).getRangeAxis()).setStandardTickUnits(NumberAxis.createIntegerTickUnits());

1 个答案:

答案 0 :(得分:1)

我是通过使用TimeSeriesChart得到的。这就是我最终的结果:

TimeSeriesCollection collection = new TimeSeriesCollection();
TimeSeries serie = new TimeSeries("Data");
collection.addSeries(serie);

JFreeChart chart = ChartFactory.createTimeSeriesChart("Data", "Time", "Data", collection, false, true, false);