Как построить график данных из массива с помощью JFreeChart? - PullRequest
0 голосов
/ 17 мая 2018

Мне нужно нарисовать график так, чтобы на оси x были данные «i», а на оси y - данные «massAngle [i]».Я пытался сделать это так:

for (int i = 0; i < massAngle.length; i++) {
    XYSeries series = new XYSeries("1");
    series.add(i, massAngle[i]);

    XYSeriesCollection seriesCollection = new XYSeriesCollection(series);
    final JFreeChart chart = ChartFactory.createXYLineChart("Долгота и Широта",
            "Долгота", "Широта", seriesCollection, PlotOrientation.VERTICAL, true, true, false);

    final ChartPanel chartPanel = new ChartPanel(chart);
    chartPanel.setPreferredSize(new Dimension(1150, 470));
    panel.add(chartPanel);
}

1 Ответ

0 голосов
/ 17 мая 2018

Вы создаете новый XYSeriesCollection, новый JFChart новый ChartPanel для каждого элемента вашего массива, вы должны сделать это один раз: создать XYSeries добавить все своиданные и сборка один график:

XYSeries series = new XYSeries("1");
for (int i = 0; i < massAngle.length; i++) {
    series.add(i, massAngle[i]);
}

XYSeriesCollection seriesCollection = new XYSeriesCollection(series);
final JFreeChart chart = ChartFactory.createXYLineChart("Долгота и Широта", "Долгота", 
                 "Широта", seriesCollection, PlotOrientation.VERTICAL, true, true, false);

final ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new Dimension(1150, 470));
panel.add(chartPanel);
...