如何使用Swing绘制这样的图形?我使用了JFreeChart
库,但我不知道如何使用该库绘制这样的折线图?
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);
}
}
我用这个绘制了图表但是没有工作......
答案 0 :(得分:1)
看起来你在构建数据集时遇到了麻烦。您可以使用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;
}
另请参阅这些examples。
顺便说一句,目前还不清楚你的画面中有什么重要,我无法理解顶部的无序轴。在我看来,更好的问题不是如何制作此图?而是如何才能最好地显示此数据?
答案 1 :(得分:0)
http://sourceforge.net/apps/trac/jung/wiki/JUNGManual
改用JUNG。它很容易用java编写。