I\'m trying to plot real-time graph, with time axis, but I have found the LineChart
constructor only has the signature.
LineChart(Axis xAxi
The class org.jfree.chart.demo.TimeSeriesChartDemo1 is included with the distribution. It is pictured in the demo, and its source illustrates the use of the factory method ChartFactory.createTimeSeriesChart()
. There's a related example here.
Download Ensemble sample from http://www.oracle.com/technetwork/java/javafx/samples/index.html
There are several examples in it for dynamic charts, e.g. "Advanced Stock Line Chart". You can take a look at their source code directly in the application.
To show time on axis you can use string and 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));
}