zoukankan      html  css  js  c++  java
  • jFreeChart利用CategoryDatase,ChartFactory.createBarChart生成的柱状图

    Createjfreechartbar 代码  收藏代码
    1. package com.potevio.rnd;  
    2.   
    3. import java.io.File;  
    4. import java.io.FileNotFoundException;  
    5. import java.io.FileOutputStream;  
    6. import java.io.IOException;  
    7.   
    8. import org.jfree.chart.ChartFactory;  
    9. import org.jfree.chart.ChartUtilities;  
    10. import org.jfree.chart.JFreeChart;  
    11. import org.jfree.chart.plot.CategoryPlot;  
    12. import org.jfree.chart.plot.PlotOrientation;  
    13. import org.jfree.data.category.CategoryDataset;  
    14. import org.jfree.data.general.DatasetUtilities;  
    15.   
    16. public class CreateJFreeChartBar {     
    17.     
    18.     /**    
    19.      * 创建JFreeChart Bar Chart(柱状图)    
    20.      */    
    21.     public static void main(String[] args) {     
    22.         //步骤1:创建CategoryDataset对象(准备数据)     
    23.         CategoryDataset dataset = createDataset();     
    24.         //步骤2:根据Dataset 生成JFreeChart对象,以及做相应的设置     
    25.         JFreeChart freeChart = createChart(dataset);     
    26.         //步骤3:将JFreeChart对象输出到文件,Servlet输出流等     
    27.         saveAsFile(freeChart, "F:\jfreechart\bar.png"500400);     
    28.     }     
    29.          
    30.     //保存为文件     
    31.     public static void saveAsFile(JFreeChart chart, String outputPath, int weight, int height) {     
    32.         FileOutputStream out = null;     
    33.         try {     
    34.             File outFile = new File(outputPath);     
    35.             if (!outFile.getParentFile().exists()) {     
    36.                 outFile.getParentFile().mkdirs();     
    37.             }     
    38.             out = new FileOutputStream(outputPath);     
    39.             //保存为PNG文件     
    40.             ChartUtilities.writeChartAsPNG(out, chart, weight, height);     
    41.             //保存为JPEG文件     
    42.             //ChartUtilities.writeChartAsJPEG(out, chart, weight, height);     
    43.             out.flush();     
    44.         } catch (FileNotFoundException e) {     
    45.             e.printStackTrace();     
    46.         } catch (IOException e) {     
    47.             e.printStackTrace();     
    48.         } finally {     
    49.             if (out != null) {     
    50.                 try {     
    51.                     out.close();     
    52.                 } catch (IOException e) {     
    53.                     //do nothing     
    54.                 }     
    55.             }     
    56.         }     
    57.     }     
    58.     
    59.     //根据CategoryDataset生成JFreeChart对象     
    60.     public static JFreeChart createChart(CategoryDataset categoryDataset) {     
    61.         JFreeChart jfreechart = ChartFactory.createBarChart("Bar Chart Demo",    //标题     
    62.                 "产品",    //categoryAxisLabel (category轴,横轴,X轴的标签)     
    63.                 "数量",    //valueAxisLabel(value轴,纵轴,Y轴的标签)     
    64.                 categoryDataset, // dataset     
    65.                 PlotOrientation.VERTICAL,     
    66.                 true, // legend     
    67.                 false, // tooltips     
    68.                 false); // URLs     
    69.              
    70.         //以下的设置可以由用户定制,也可以省略     
    71.         CategoryPlot  plot = (CategoryPlot) jfreechart.getPlot();     
    72.         //背景色 透明度     
    73.         plot.setBackgroundAlpha(0.5f);     
    74.         //前景色 透明度     
    75.         plot.setForegroundAlpha(0.5f);     
    76.         //其它设置可以参考 CategoryPlot     
    77.              
    78.         return jfreechart;     
    79.     }     
    80.     
    81.     /**    
    82.      * 创建CategoryDataset对象    
    83.      *     
    84.      */    
    85.     public static CategoryDataset createDataset() {     
    86.              
    87.         String []rowKeys = {"One""Two""Three"};     
    88.         String []colKeys = {"1987""1997""2007"};     
    89.              
    90.         double [][] data = {     
    91.                 {502030},     
    92.                 {20, 10D, 40D},     
    93.                 {4030.0008D, 38.24D},     
    94.         };     
    95.              
    96.         //也可以使用以下代码     
    97.         //DefaultCategoryDataset categoryDataset = new DefaultCategoryDataset();     
    98.         //categoryDataset.addValue(10"rowKey""colKey");     
    99.              
    100.         return DatasetUtilities.createCategoryDataset(rowKeys, colKeys, data);             
    101.     }     
    102.     
    103. }  

    运行效果图:

     

     

  • 相关阅读:
    js Image对象 及rollover效果
    精通javascript:元素的尺寸
    javascript 快捷操作
    精通javascript:获取位置
    javascript对象小问题
    javascript 获取元素的真实,最终的css样式
    MySQL索引
    精通javascript:元素的可见性
    javascript 图像预载入和如何判断图片是否加载完成
    ASP.NET Ajax的CalendarExtender控件被其它Div遮住问题
  • 原文地址:https://www.cnblogs.com/jpfss/p/7403648.html
Copyright © 2011-2022 走看看