有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JFreeChart隐藏(某些)x轴值

我目前正在使用JFreeChart创建折线图。此折线图每秒更新一个新值(当前为随机值)。通过这种方式,您可以看到数据在特定时间段内的变化。然而,当我添加了超过10个值后,它们就不再适合这条线了,变成了点。我希望一次只显示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) 个答案

  1. # 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);