zoukankan      html  css  js  c++  java
  • 使用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

  • 相关阅读:
    SQl 事物+视图+游标+索引+锁
    常用经典SQL语句大全完整版--详解+实例 《来自网络,很全没整理,寄存与此》
    SQL--存储过程+触发器 对比!
    SQL---触发器
    SQL (一)定义变量以及变量赋值
    Js 事件大全
    ASP.NET 常用内置对象详解-----Response
    母板页----路径问题
    构建低代码开发生态,APICloud全面进入3.0时代
    APICloud:云端服务开发的硬核要素
  • 原文地址:https://www.cnblogs.com/dqh94/p/7691103.html
Copyright © 2011-2022 走看看