JavaFX в режиме реального времени LineChart с осью времени

Я пытаюсь построить график в реальном времени, с осью времени, но я нашел LineChart конструктор имеет только подпись.

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

Я думаю, что встраивание диаграммы jfree в javafx не является правильным решением.

Я хочу несколько функций jfree в javafx LineChart, это возможно?

2 ответов


загрузить образец ансамбля из http://www.oracle.com/technetwork/java/javafx/samples/index.html

в нем есть несколько примеров для динамических диаграмм, например "расширенный график акций". Вы можете взглянуть на исходный код непосредственно в приложение.

enter image description here

чтобы показать время на оси, вы можете использовать string и 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));
    }

класс org.jfree.chart.demo.TimeSeriesChartDemo1 входит в комплект поставки. Это изображено в демо, и источник иллюстрирует использование заводского метода ChartFactory.createTimeSeriesChart(). Существует связанный пример здесь.