使用jfreechart创建带有折线图的堆积条形图并从数据库中获取值

时间:2017-07-12 11:16:33

标签: java database jdbc jfreechart

我想通过从db获取值来使用jfreechart创建一个带有折线图的堆积条形图。

基本上,我想在条形图上显示两个值 - 失败的值和成功值。

折线图将触及所有条形图,其值将是相应小时的失败和成功值的总和。

另外,我想要一条水平线代表所有值的平均值,即(失败+成功)值的总数

此堆叠条形图将具有每小时的值,即x轴小时数将存在。 Y轴应该没有。价值观。

我编写了以下代码,仅用于创建StackedBarChart,但它没有生成图形

由于我是jfreechart的新手,我不知道如何提出代码。任何帮助将不胜感激。

代码.....

      String query1 = "select * from table1";

            ps = con.prepareStatement(query1);
            rs = ps.executeQuery();
            DefaultCategoryDataset dataset = new DefaultCategoryDataset();
            System.out.println("Creating Graph of hourly count");

            while (rs.next())
            {
                Number a = Long.parseLong(rs.getString("SuccessValues"));
                String b = rs.getString("FailureValues");
                String c = rs.getString("Hours");
                dataset.setValue(a, b, c);
            }
            final String title = "Per Hour Count";
            final String Xaxis = "Time";
            final String Yaxis = "Orders";
            barChartDisp(title,Xaxis,Yaxis,dataset);

    private void barChartDisp(String title, String xaxis, String yaxis, DefaultCategoryDataset dataset) {
        try{
            JFreeChart barChart = ChartFactory.createStackedBarChart(title, xaxis, yaxis, dataset,
                    PlotOrientation.VERTICAL, true, true, false);
            int width = 640;
            int height = 480;
            File BarChart = new File("BarChart.jpeg");
            ChartUtilities.saveChartAsJPEG(BarChart, barChart, width, height);
            }}

0 个答案:

没有答案