具有时间轴的JavaFX实时LineChart

时间:2012-10-25 08:17:54

标签: java charts jfreechart javafx-2

我正在尝试用时间轴绘制实时图,但我发现LineChart构造函数只有签名。

LineChart(Axis<X> xAxis, Axis<Y> yAxis)  

我认为在javafx中嵌入jfree图表不是一个合适的解决方案。

我想在javafx LineChart中使用一些jfree功能,这可能吗?

2 个答案:

答案 0 :(得分:19)

http://www.oracle.com/technetwork/java/javafx/samples/index.html下载合奏样本

动态图表中有几个例子,例如: “高级股票线图”。您可以直接在应用程序中查看其源代码。

enter image description here

要在轴上显示时间,您可以使用字符串和DateFormatter:

    BarChart<String, Number> chart = new BarChart<>(new CategoryAxis(), new NumberAxis());

    final XYChart.Series<String, Number> series1 = new XYChart.Series<>();
    chart.getData().addAll(series1);

    SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
    Date date = new Date();
    for (int i = 0; i <= 10; i += 1) {
        date.setTime(date.getTime() + i * 11111);
        series1.getData().add(new XYChart.Data(dateFormat.format(date), Math.random() * 500));
    }

答案 1 :(得分:0)

班级org.jfree.chart.demo.TimeSeriesChartDemo1包含在发行版中。它显示在demo中,其source说明了工厂方法ChartFactory.createTimeSeriesChart()的使用。有一个相关的例子here