I am currently using XYChart to create a graph in java I do so using the following code:
stage.setTitle("Emotion Analyser");
final CategoryAxis xAxis = new CategoryAxis();
final NumberAxis yAxis = new NumberAxis();
xAxis.setLabel("Utterances");
final LineChart<String,Number> lineChart =
new LineChart<String,Number>(xAxis,yAxis);
lineChart.setTitle("Emotion Analysis");
XYChart.Series series1 = new XYChart.Series();
series1.setName("Happy");
series1.getData().add(new XYChart.Data("1st", 23));
series1.getData().add(new XYChart.Data("2nd", 14));
series1.getData().add(new XYChart.Data("3rd", 15));
series1.getData().add(new XYChart.Data("4th", 24));
series1.getData().add(new XYChart.Data("5th", 34));
series1.getData().add(new XYChart.Data("6th", 36));
series1.getData().add(new XYChart.Data("7th", 22));
series1.getData().add(new XYChart.Data("8th", 45));
series1.getData().add(new XYChart.Data("9th", 43));
series1.getData().add(new XYChart.Data("10th", 17));
XYChart.Series series2 = new XYChart.Series();
series2.setName("sad");
series2.getData().add(new XYChart.Data("1st", 33));
series2.getData().add(new XYChart.Data("2nd", 34));
series2.getData().add(new XYChart.Data("3rd", 25));
series2.getData().add(new XYChart.Data("4th", 44));
series2.getData().add(new XYChart.Data("5th", 39));
series2.getData().add(new XYChart.Data("6th", 16));
series2.getData().add(new XYChart.Data("7th", 55));
series2.getData().add(new XYChart.Data("8th", 54));
series2.getData().add(new XYChart.Data("9th", 48));
series2.getData().add(new XYChart.Data("10th", 27));
XYChart.Series series3 = new XYChart.Series();
series3.setName("Shocked");
series3.getData().add(new XYChart.Data("1st", 44));
series3.getData().add(new XYChart.Data("2nd", 35));
series3.getData().add(new XYChart.Data("3rd", 36));
series3.getData().add(new XYChart.Data("4th", 33));
series3.getData().add(new XYChart.Data("5th", 31));
series3.getData().add(new XYChart.Data("6th", 26));
series3.getData().add(new XYChart.Data("7th", 22));
series3.getData().add(new XYChart.Data("8th", 25));
series3.getData().add(new XYChart.Data("9th", 43));
series3.getData().add(new XYChart.Data("10th", 44));
Scene scene = new Scene(lineChart,800,600);
lineChart.getData().addAll(series1, series2, series3);
stage.setScene(scene);
stage.show();
image:
This is when you want to add them manually when you no all of the data... however I am trying to create a real-time updating graph, which doesn't know how many lines it is going to have each time it is run, so one run it might have 2 lines on the graph, second time run it could have 6.
So I wanted to somehow use an ArrayList like:
and do the same as what the previous,
I tried doing:
list.get(0).setName("Happyq");
but that didn't work
Error:
Executing /