我正在尝试使用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]);
感谢您的帮助!!!
答案 0 :(得分:1)
dataset.setValue(count, " " , typesPannes[i]);
尝试替换为:
dataset.setValue(count, typesPannes[i], "");
因为你只有一个类别而是多个系列。
看到屏幕截图后编辑: 当我替换panel.add(ch1)时,该图表适合我;使用包含图表的新JFrame。 因此,您需要检查面板是否已添加到主框架以及是否没有重新绘制等。您可以尝试调整主框架的大小。您还可以尝试添加一个简单的JLabel,并在添加图表之前检查它是否正确显示在框架中。