java - 使用 JFreeChart 创建包含数据库值的条形图

标签 java swing jfreechart bar-chart

我正在从有两列的数据库中获取值。我想通过单击按钮创建条形图并在面板中显示条形图。如何使用 JFreeChart 做到这一点?我正在使用 mysql 数据库。

最佳答案

我解决了我的问题。只需阅读一些有关 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) {

    }

关于java - 使用 JFreeChart 创建包含数据库值的条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29895005/

相关文章:

java - JFreeChart图表渲染问题

java - 在 Jira 插件的速度模板方面需要一些帮助

java - 具有多次相同面板的选项卡式 Pane

java - 将 Swing 屏幕传递给另一个 Java 应用程序。最小化时 Swing 会更新屏幕吗?

java - 为什么java后台进程很慢?

java - 使用 Itext 5 定位 JFreeChart 图像

java - 在 XY 数据集的 Y 轴上具有自定义标签 - JFreechart

java - ScrollView 剪切 TextView 中的文字

java - == 原始数据类型的运算符

java - 使用 @PropertySource 访问 @Lazy 初始化的 @Bean 的公共(public)属性