数据集使用JFreeChart和MySQL DB绘制图表

时间:2012-05-06 12:05:54

标签: java mysql jfreechart

我正在尝试使用Java上的JFreeChart绘制图表!

我将在图表中使用的数据来自数据库。

所以我有一个包含许多类型的 pannes 表,我计算每个类型的pannes数,然后使用JFreeChart方法将它们添加到dataSet。

我的问题是我在输出中没有得到任何东西。

这是一些代码!

for (int i =0 ; i<typesPannes.length ; i++)     
{
    ResultSet res = st.executeQuery(req+" and typeDerang = '"+typesPannes[i]+"'");  
    System.out.println(req+" and typeDerang = '"+typesPannes[i]+"'");
    int count=0; 
    while (res.next()) {    count++ ; }
    System.out.println(count) ;  
    dataset.setValue(count, " "  ,  typesPannes[i]); 
}       
    JFreeChart chart = ChartFactory.createBarChart ("BarChart using JFreeChart","row", "col", dataset, 
    PlotOrientation.VERTICAL, false,true, false);
    chart.setBackgroundPaint(Color.yellow);
    chart.getTitle().setPaint(Color.blue); 
    CategoryPlot p = chart.getCategoryPlot(); 
    p.setRangeGridlinePaint(Color.red); 
    ChartPanel ch1=new ChartPanel(chart);
    panel.add(ch1);

dataSet还是有问题......请帮助!

dataset.setValue(count,“”,typesPannes [i]);

感谢您的帮助!!!

1 个答案:

答案 0 :(得分:1)

dataset.setValue(count, " "  ,  typesPannes[i]);

尝试替换为:

dataset.setValue(count, typesPannes[i], "");

因为你只有一个类别而是多个系列。

看到屏幕截图后编辑: 当我替换panel.add(ch1)时,该图表适合我;使用包含图表的新JFrame。 因此,您需要检查面板是否已添加到主框架以及是否没有重新绘制等。您可以尝试调整主框架的大小。您还可以尝试添加一个简单的JLabel,并在添加图表之前检查它是否正确显示在框架中。