如何用jfreechart显示饼状图,数据来自我的数据库当中。求具体代码

如何用jfreechart显示饼状图,数据来自我的数据库当中。求具体代码,第1张

    /*

     * 生成3D饼状图

     */

    public static JFreeChart buildeChartAsPieChart3D(String title,

            List<TimeSeriesDataBean> list) {

        FontCtl.setFont()// 解决乱码问题

        List<String[]> dataList = new ArrayList<String[]>()

        String[] ss

        for (TimeSeriesDataBean bean : list) {

            ss = new String[2]

            ss[0] = bean.getNam()

            ss[1] = bean.getVal() + ""

            dataList.add(ss)

        }

        DefaultPieDataset dataset = DataSetBuilder.buildPieChartDataSet(title,

                dataList)

        JFreeChart chart = ChartFactory.createPieChart3D(title, dataset, true,

                true, false)

        // chart.addSubtitle(new TextTitle("SUBTITLE测试"))

        PiePlot pieplot = (PiePlot) chart.getPlot()

        // {0}:({1})% 代表显示格式 : 0 = 名称 1 = 值 比如 : 名称:19%

        StandardPieSectionLabelGenerator standarPieIG = new StandardPieSectionLabelGenerator(

                "{0}:({1})", NumberFormat.getNumberInstance(), NumberFormat

                        .getPercentInstance())

        pieplot.setLabelGenerator(standarPieIG)

        // 没有数据的时候显示的内容

        pieplot.setNoDataMessage("无数据显示")

        pieplot.setLabelGap(0.02D)

        PiePlot3D pieplot3d = (PiePlot3D) chart.getPlot()

        // 设置开始角度

        pieplot3d.setStartAngle(120D)

        // 设置方向为”顺时针方向“

        pieplot3d.setDirection(Rotation.CLOCKWISE)

        // 设置透明度,0.5F为半透明,1为不透明,0为全透明

        pieplot3d.setForegroundAlpha(0.7F)

        ChartFrame frame = new ChartFrame(title, chart)

        frame.pack()

        frame.setVisible(true)

        return chart

    }

PiePlot piePlot=(PiePlot)chart.getPlot()

piePlot.setBackgroundPaint(null)

加上这两句就可以了,其中,chart是JFreeChar定义的t对象,注意要导入PiePlot包。。。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11298929.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存