0

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

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

所以我有一张包含多种类型的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.setValue(count, " " , typesPannes[i]);

感谢帮助 !!!

4

1 回答 1

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

尝试替换为:

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

因为您只有一个类别,但有多个系列。

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

于 2012-05-06T12:33:36.400 回答