Java JFree 图表实时图表将域标签从毫秒转换为 HH:MM:SS

Java JFree chart realtime chart convert domain label from millis to 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) {}
             }
         }
     }
};

我使用的是 XY 系列折线图而不是时间序列图。通过使用 JFreeChart chart = ChartFactory.createTimeSeriesChart 而不是 JFreeChart chart = ChartFactory.createXYLineChart,可以自动解释和显示正确的 date/time 值。