首页 > 解决方案 > Java JFree图表实时图表将域标签从毫秒转换为HH:MM:SS

问题描述

我用 JFreechart 创建了一个实时图表,其中域轴是纪元毫秒。我想显示标签HH:MM:SS

这是我用来加载数据图表的代码块。我对 Java 很陌生,非常感谢任何建议。

Thread thread = new Thread(){
     public void run() {
         try (Scanner scanner = new Scanner(chosenPort.getInputStream())) {     // Read Data from Serial Port
             int x = 0;                                                         // Set data
             while(scanner.hasNextLine()) {
                 long epoch = System.currentTimeMillis();
                 chart.getXYPlot().getDomainAxis().setRange(epoch - 30000.00, epoch + 1000.00);
                 try{
                     String line = scanner.nextLine();
                     int number = Integer.parseInt(line); //
                     series.add(epoch,number);                                      // add Data to Chart
                     p1.repaint();
                 }catch(Exception e) {}
             }
         }
     }
};

标签: javajfreechart

解决方案


我使用的是 XYseries 折线图而不是时间序列图。通过使用JFreeChart chart = ChartFactory.createTimeSeriesChart而不是JFreeChart chart = ChartFactory.createXYLineChart正确的日期/时间值被自动解释和显示。


推荐阅读