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

  • 相关阅读:
    不写helloworld总觉得哪里似乎不对之javascript
    SQl中drop与truncate的区别
    对MarshalByRefObject的讲解(转自DuDu)
    “模态子窗体关闭后,父窗体也关闭”解决方案
    ENVI5.0 32位工具栏图标不显示解决办法
    HTML5的基础写法
    查询远程服务器数据
    javascript变量、作用域和内存问题
    javascript基本概念
    让应用程序具体相应权限
  • 原文地址:https://www.cnblogs.com/dqh94/p/7691103.html
Copyright © 2011-2022 走看看