⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 createchart.java

📁 java阿里巴巴代码
💻 JAVA
字号:
package com.saas.biz.commen;

import com.base.config.ProjectConfig;
import java.util.*;
import com.saas.biz.commen.config;
 
import com.saas.sys.log.Logger;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.jfree.chart.ChartColor;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;

import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;


public class CreateChart 
{  
    public static Logger log;
    public CreateChart() 
    {    
        log = new Logger(this);    
    }
    public static void main(String[] args)
    {    	       
        //步骤1:创建PieDataset对象(准备数据)
        //PieDataset dataset = createDataset();
        //步骤2:根据Dataset 生成JFreeChart对象,以及做相应的设置
        //JFreeChart freeChart = createChart(dataset,"");
        //步骤3:将JFreeChart对象输出到文件,Servlet输出流等
        //saveAsFile(freeChart, "/usr/www/soft.xsaas.com/pie.png", 500, 400);

    }
    //保存为文件 
    public static void saveAsFile(JFreeChart chart, String outputPath, int weight, int height) 
    {
        FileOutputStream out = null;
        try 
        {
            File outFile = new File(outputPath);
            if (!outFile.getParentFile().exists()) 
            {
                outFile.getParentFile().mkdirs();
            }
            out = new FileOutputStream(outputPath);
            //保存为PNG文件
            ChartUtilities.writeChartAsPNG(out, chart, height, weight);
            //保存为JPEG文件
            //ChartUtilities.writeChartAsJPEG(out, chart, 500, 400);
            out.flush();
        } 
        catch (FileNotFoundException e) 
        {
            e.printStackTrace();
        } 
        catch (IOException e)
        {
            e.printStackTrace();
        } 
        finally 
        {
            if (out != null) 
            {
                try
                {
                    out.close();
                }
                catch (IOException e) 
                {
                    //do nothing
                }
            }
        }
    }

    //从PieDataset生成JFreeChart对象
    public static JFreeChart createChart(PieDataset pieDataset,String chartitle) 
    {
        JFreeChart jfreechart = ChartFactory.createPieChart(chartitle,
                pieDataset, // dataset
                true, // legend
                false, // tooltips
                false); // URLs
        
        //以下的设置可以由用户定制,也可以省略
     
        PiePlot pieplot = (PiePlot) jfreechart.getPlot();
        //背景色 透明度
        pieplot.setBackgroundAlpha(0.5f);
        //前景色 透明度
        pieplot.setForegroundAlpha(0.5f);
        //其它设置请参考 PiePlot类
        
        return jfreechart;
    }

    /**
     * 创建PieDataset对象(数据的准备)
     * 
     */
    public static PieDataset createDataset(ArrayList datalist) 
    {
        DefaultPieDataset defaultpiedataset = new DefaultPieDataset();
        if (datalist == null) return null;
		for (Iterator it = datalist.iterator(); it.hasNext();) 
		{
			HashMap dataListMap = (HashMap) it.next();
			String title = "";
			String value = "";
			Double Dvalue = 0.00;
			if (dataListMap.get("title") != null) title = dataListMap.get("title").toString();
			if (dataListMap.get("value") != null) value = dataListMap.get("value").toString();
			Dvalue =  Double.parseDouble(value);
			defaultpiedataset.setValue(title, Dvalue);
		}
        
        return defaultpiedataset;
    }
    /**
     * 创建PieDataset对象(数据的准备)
     * 
     */
    public static DefaultCategoryDataset createCategoryDataset(ArrayList datalist) 
    {
         DefaultCategoryDataset dataset = new DefaultCategoryDataset();
          // 装载数据
          dataset.setValue(6, "Profit", "Jane");
          dataset.setValue(3, "Profit2", "Jane");
          dataset.setValue(7, "Profit", "Tom");
          dataset.setValue(6, "Profit2", "Tom");
          dataset.setValue(8, "Profit", "Jill");
          dataset.setValue(9, "Profit2", "Jill");
          dataset.setValue(5, "Profit", "John");
          dataset.setValue(8, "Profit2", "John");
          dataset.setValue(12, "Profit", "Fred");
          dataset.setValue(11, "Profit2", "Fred");  
           return dataset;
    }
    //从PieDataset生成JFreeChart对象
    public static JFreeChart createCategory(DefaultCategoryDataset dataset,String chartitle) 
    {
       // 产生柱状图 
       //JFreeChart chart = ChartFactory.createXYLineChart("标题","x轴标志","y轴标志","设置数据","设置图形显示方向",是否显示图形,是否进行提示,是否配置报表存放地址);
      // 图形显示方向:
      // (1)HORIZONTAL:横向显示图形
      // (2)VERTICAL:纵向显示图形
       
      // 2D柱状图
       JFreeChart chart = ChartFactory.createBarChart3D(chartitle,"Salesman", "Profit", dataset,PlotOrientation.VERTICAL,true, true, false);
    // 设置总的背景颜色
      chart.setBackgroundPaint(ChartColor.yellow); 
      // 设置标题颜色
      chart.getTitle().setPaint(ChartColor.blue); 
      // 获得图表对象
      CategoryPlot p = chart.getCategoryPlot();
      // 设置图的背景颜色
      p.setBackgroundPaint(ChartColor.black);
      // 设置表格线颜色
      p.setRangeGridlinePaint(ChartColor.red); 
        return chart;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -