2012-10-25 12 views
10

Sto provando a tracciare il grafico in tempo reale, con l'asse del tempo, ma ho trovato che il costruttore LineChart ha solo la firma.Line grafico JavaFX in tempo reale con asse temporale

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

Penso che incorporare jfree chart in javafx non sia una soluzione adeguata.

Voglio alcune delle funzioni jfree in un javafx LineChart, è possibile?

+1

Fantastic domanda! Risposta utile! Moderatori terribili! Perché chiudere perfettamente le domande con risposte valide? Sono solo felice che le domande chiuse siano ancora presenti nelle ricerche. –

risposta

18

Scarica campione Ensemble da http://www.oracle.com/technetwork/java/javafx/samples/index.html

Ci sono diversi esempi in esso per i grafici dinamici, per esempio "Grafico a linee avanzate". Puoi dare un'occhiata al loro codice sorgente direttamente nell'applicazione.

enter image description here

per mostrare il tempo sull'asse è possibile utilizzare stringhe e 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

Sì, questo codice va bene ma il problema è che voglio mostrare il tempo reale invece dei valori incrementati nell'asse del tempo !!! –

+0

vedere la risposta aggiornata –

+1

esattamente ... questo è quello che voglio –

0

La classe org.jfree.chart.demo.TimeSeriesChartDemo1 è inclusa nella distribuzione. È illustrato nello demo e il suo source illustra l'uso del metodo di fabbrica ChartFactory.createTimeSeriesChart(). C'è un esempio correlato here.

+0

fieno cosa hai suggerito ?? Non capisco ... –

+1

Penso che dovresti usare 'createTimeSeriesChart()'. –

+0

@ShantanuBanerjee: [tag: jfreechart] funziona con [tag: javafx]; modificare il modello, ad es. 'TimeSeries', e la vista si aggiornerà automaticamente. – trashgod