java - 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) {}
}
}
}
};
解决方案
我使用的是 XYseries 折线图而不是时间序列图。通过使用JFreeChart chart = ChartFactory.createTimeSeriesChart
而不是JFreeChart chart = ChartFactory.createXYLineChart
正确的日期/时间值被自动解释和显示。
推荐阅读
- java - 如何使用 SpringBoot + JPA 在 POSTGRES 中存储 JSON?
- java - 数据没有从 Firebase 读入我的 ArrayList
- python-3.x - 我必须在一行中每 3 个元素之后打印一个带有空格的网格,每三行之后打印一个空行,但我无法弄清楚代码
- c# - Brother Bpac SDK - .NET 核心和 .NET 5 的访问冲突,但不是 .NET 框架
- php - WooCommerce 根据特定产品的购买数量收取额外费用
- javascript - 向服务器中的所有成员发送消息不工作
- regex - 如何仅打印 perl 中所有匹配项的捕获组?
- php - 如何在php中爆炸字符串但不在引号内?
- javascript - 为什么我不能访问构造函数的值
- kubernetes-helm - Grafana 图表的 helm 模板转义值