Как я могу нарисовать этот график в Swing? - PullRequest
0 голосов
/ 03 февраля 2012

Как я могу нарисовать такой график, используя Swing? Я использовал библиотеку JFreeChart, но я не знаю, как я могу нарисовать такой линейный график, используя эту библиотеку?

graph

import org.jfree.chart.*;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.xy.*;

public class DrawGraph{

public void drawGraph(int[][] drawPoints) {
  XYSeries series = new XYSeries("Average Weight");
  for(int i=0;i<drawPoints.length;i++){
    for(int j=0;j<=1;j+=2){
        if(drawPoints[i][j]!=0){
            series.add(bla...bla...bla...);
        }
    }
  }

  XYDataset xyDataset = new XYSeriesCollection(series);
  JFreeChart chart = ChartFactory.createXYLineChart
  ("XYLine Chart using JFreeChart", "Age", "Weight",
 xyDataset, PlotOrientation.VERTICAL, true, true, false);
  ChartFrame frame1=new ChartFrame("XYLine Chart",chart);
  frame1.setVisible(true);
  frame1.setSize(300,300);
  }

}

Я нарисовал график, используя это, но не работает ...

Ответы [ 2 ]

1 голос
/ 03 февраля 2012

Похоже, у вас возникли проблемы при создании набора данных. Вы можете использовать метод, показанный ниже, с ChartFactory.createXYAreaChart() или ChartFactory.createXYLineChart().

private static XYDataset createDataset() {
    XYSeriesCollection result = new XYSeriesCollection();
    XYSeries series = new XYSeries("Test");
    series.add(0, 2);
    // more points here
    series.add(10, 10);
    result.addSeries(series);
    return result;
}

См. Также примеры .

Кроме того, неясно, что важно в вашей картине, и я не могу понять неупорядоченную ось вверху. На мой взгляд, лучше спросить не Как мне сделать этот график? , а Как мне лучше отобразить эти данные?

0 голосов
/ 03 февраля 2012

http://sourceforge.net/apps/trac/jung/wiki/JUNGManual

Используйте вместо этого JUNG. Это легко и написано в Java.

...