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

  • 相关阅读:
    使用CSDN Code将网站部署到Windows Azure Website上
    各种云计算虚拟机大比拼
    PLSQL无法连接64位Oracle数据库/Database下拉框为空的解决方法
    adb命令集锦
    Web常用函数介绍(LoadRunner相关)
    公开的免费WebService接口分享
    WEB服务器与应用服务器的区别
    电梯测试点有哪些?
    管理者必须知道的:你真的会惩罚你的团队吗?
    分享几个面试题的回答思路
  • 原文地址:https://www.cnblogs.com/dqh94/p/7691103.html
Copyright © 2011-2022 走看看