JFreeChart 隐藏(一些)x 轴值
JFreeChart hiding (some) x axis values
我目前正在使用 JFreeChart 创建折线图。此折线图每秒更新一个新值(当前为随机值)。通过这种方式,您可以查看数据在特定时间段内的变化情况。然而,在我添加了十多个值之后,它们不再适合在线变成点。我想一次只显示 5 个值,这些值分布在整个时间范围内。这是它现在的样子:
注意图表底部的点。我想把它改成这样:
请注意,我想保留在这些时间点之间创建的所有点。所以来自 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());
我使用 TimeSeriesChart 得到它。这就是我最终得到的:
TimeSeriesCollection collection = new TimeSeriesCollection();
TimeSeries serie = new TimeSeries("Data");
collection.addSeries(serie);
JFreeChart chart = ChartFactory.createTimeSeriesChart("Data", "Time", "Data", collection, false, true, false);
我目前正在使用 JFreeChart 创建折线图。此折线图每秒更新一个新值(当前为随机值)。通过这种方式,您可以查看数据在特定时间段内的变化情况。然而,在我添加了十多个值之后,它们不再适合在线变成点。我想一次只显示 5 个值,这些值分布在整个时间范围内。这是它现在的样子:
注意图表底部的点。我想把它改成这样:
这是我目前拥有的:
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());
我使用 TimeSeriesChart 得到它。这就是我最终得到的:
TimeSeriesCollection collection = new TimeSeriesCollection();
TimeSeries serie = new TimeSeries("Data");
collection.addSeries(serie);
JFreeChart chart = ChartFactory.createTimeSeriesChart("Data", "Time", "Data", collection, false, true, false);