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

  • 相关阅读:
    项目成本管理控制成本
    项目成本管理制定预算
    完工尚需绩效指数 TCPI
    第八章 项目质量管理
    第七章:项目成本管理
    项目时间管理制定进度计划
    PV EV AC BAC EAC ETC等计算公式
    项目时间管理控制进度
    淘小宝相册图片批量下载工具
    WebBrowser.Navigate异步运行,使其与其他进程同步的方法
  • 原文地址:https://www.cnblogs.com/dqh94/p/7691103.html
Copyright © 2011-2022 走看看