12

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

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

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

我想要 javafx 中的一些 jfree 功能LineChart,这可能吗?

4

2 回答 2

19

从http://www.oracle.com/technetwork/java/javafx/samples/index.html下载 Ensemble 示例

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

在此处输入图像描述

要在轴上显示时间,您可以使用字符串和 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));
    }
于 2012-10-25T14:55:21.583 回答
0

该类org.jfree.chart.demo.TimeSeriesChartDemo1包含在分发中。它在演示中被描绘,它的源代码说明了工厂方法的使用ChartFactory.createTimeSeriesChart()这里有一个相关的例子。

于 2012-10-25T10:39:52.543 回答