• 使用JFreeChart创建柱状图的工具类


    package cn.xfz.oa.util;
    
    import java.awt.Font;
    import java.util.List;
    
    import org.jfree.chart.ChartFactory;
    import org.jfree.chart.ChartTheme;
    import org.jfree.chart.JFreeChart;
    import org.jfree.chart.StandardChartTheme;
    import org.jfree.chart.plot.PlotOrientation;
    import org.jfree.data.category.CategoryDataset;
    import org.jfree.data.general.DatasetUtilities;
    import org.jfree.data.general.DefaultPieDataset;
    
    /**
     * 创建柱状图
     * */
    public class BarChartUtil {
        /**
         * 获得数据集。
         * 
         * @return org.jfree.data.category.CategoryDataset
         */
        private static DefaultPieDataset getDataset(List<Object[]> data) {
            DefaultPieDataset dfp = new DefaultPieDataset();
            for (Object[] arr : data) {
                dfp.setValue((String) arr[0], (Double) arr[1]);
            }
            return dfp;
        }
    
        /**
         * 
         * */
        private static ChartTheme getChartTheme() {
            // 处理中文乱码
            StandardChartTheme chartTheme = new StandardChartTheme("CN");
            // 标题
            chartTheme.setExtraLargeFont(new Font("宋体", Font.BOLD, 20));
            // legend
            chartTheme.setRegularFont(new Font("宋体", Font.PLAIN, 18));
            // 轴向字体
            chartTheme.setLargeFont(new Font("宋体", Font.PLAIN, 16));
            return chartTheme;
        }
    
        /**
         * 生成柱状图。
         */
        public static JFreeChart makeBarChart3D(String title, List<Object[]> data) {
    
            // 1.获得数据集
            DefaultPieDataset dataset = getDataset(data);
    
            ChartFactory.setChartTheme(getChartTheme());
    
            // 2.创建一个柱状图
            JFreeChart chart = ChartFactory.createPieChart(title, // 图表标题
                    dataset, // 数据集
                    true, // 是否显示图例 legend
                    true, // 是否生成工具(提示) 提示
                    true // 是否生成URL链接
                    );
    
            return chart;
    
        }
    }

    直接贴上代码,有不懂得地方添加微信:qh2827

  • 相关阅读:
    我的第一个Python爬虫——谈心得
    python写第一个网页
    科学计算和可视化
    类和正则表达(自动更正,和代数运算)
    图片处理
    jieba
    汉诺塔问题
    Python核心编程(第二版)第十章习题答案
    python官方文档之open()函数的翻译
    python打开文件时提示“File was loaded in the wrong encoding:’UTF-8”根因调查
  • 原文地址:https://www.cnblogs.com/dqh94/p/7691103.html
Copyright © 2020-2023  润新知