我从我的数据库中获取有两列的值。我想在单击按钮时创建条形图并在面板中显示条形图。我如何使用JFreeChart做到这一点?我正在使用mysql数据库。
答案 0 :(得分:3)
我解决了我的问题。只需阅读一点关于JFreechart
的内容。这是解决方案:
String toc = "";
int summary = 0;
try {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
Class.forName(JDBC_DRIVER);
con = DriverManager.getConnection(DB_URL, USER, PASS);
String query = "Select toc as TypeOfCall,Sum(toc) as SummaryOfCalls from processeddata_table group by toc";
ps = con.prepareStatement(query);
rs = ps.executeQuery();
while (rs.next()) {
toc = rs.getString("TypeOfCall");
summary = rs.getInt("SummaryOfCalls");
dataset.setValue(summary, toc, toc);
}
JFreeChart chart = ChartFactory.createBarChart("Call cost", "TypeOfCall", "SummaryOfCalls", dataset, PlotOrientation.VERTICAL, false, true, false);
CategoryPlot p = chart.getCategoryPlot();
//p.setRangeGridlinePaint(Color.BLUE);
ChartPanel panel = new ChartPanel(chart);
panel.setVisible(true);
panel.setSize(200, 200);
display_graph.add(panel);
} catch (ClassNotFoundException | SQLException e) {
}