<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 26,  comments - 14,  trackbacks - 0
    JFreeChart項目簡介

    JFreeChart是開放源代碼站點(diǎn)SourceForge.net上的一個JAVA項目,它主要用來各種各樣的圖表,這些圖表包括:餅圖、柱狀圖(普 通柱狀圖以及堆棧柱狀圖)、線圖、區(qū)域圖、分布圖、混合圖、甘特圖以及一些儀表盤等等。這些不同式樣的圖表基本上可以滿足目前的要求。為了減少篇幅本文主 要介紹前面三種類型的圖表,讀者可以觸類旁通去開發(fā)其他樣式的圖表。




    這里有點(diǎn)筆者在開發(fā)中遇見的問題需要注意的是:在使用Eclipse開發(fā)的時候會報一個莫名其妙的錯誤,錯誤可能指向某個類文件的第一行。遇到這樣的問題一般是因為沒有把Jcommon的jar包設(shè)置到項目的類路徑中的緣故。具體的原因不祥。

    1 餅圖

    對于餅圖而言,數(shù)據(jù)集的獲取用的不是同一個數(shù)據(jù)集類,另外餅圖不支持同一個類別的項目中還有子項目這樣的數(shù)據(jù)。我們只給出創(chuàng)建餅圖的代碼,至于寫圖表到一個文件則與柱狀圖一致,無需重復(fù)..

    實(shí)例代碼如下:

    package com.dr.demo;


    import java.awt.Color;
    import java.awt.Font;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;

    import org.jfree.chart.ChartFactory;
    import org.jfree.chart.ChartUtilities;
    import org.jfree.chart.JFreeChart;
    import org.jfree.chart.axis.CategoryAxis;
    import org.jfree.chart.axis.CategoryLabelPositions;
    import org.jfree.chart.axis.ValueAxis;
    import org.jfree.chart.plot.CategoryPlot;
    import org.jfree.chart.plot.PlotOrientation;
    import org.jfree.chart.title.TextTitle;
    import org.jfree.data.category.CategoryDataset;
    import org.jfree.data.category.DefaultCategoryDataset;


    /**
     *
     * @author 詹成榜
     * @date 2010-2-25
     * @ClassName PolyLine.java
     * @Email 289153044@qq.com
     * @param 餅圖
     * @param
     */

    public class SalesCountServlet  {

     protected static void doGet() {
      System.out.println("圖表已經(jīng)建立!");
      
      CategoryDataset dataset = getDataSet();
      String fileName = "SalesCount.jpg";//文件名稱
      JFreeChart chart = ChartFactory.createBarChart3D("產(chǎn)品銷量圖", // 圖表標(biāo)題
        "產(chǎn)品", // 目錄軸的顯示標(biāo)簽
        "銷量", // 數(shù)值軸的顯示標(biāo)簽
        dataset, // 數(shù)據(jù)集
        PlotOrientation.VERTICAL, // 圖表方向:水平、垂直
        true, // 是否顯示圖例(對于簡單的柱狀圖必須是false)
        false, // 是否生成工具
        false // 是否生成URL鏈接
        );
      
      configFont(chart);//設(shè)置中文格式

      FileOutputStream fos_jpg = null;
      try {
       String statImagePath = "d:";//存放文件的路徑
       try {
        fos_jpg = new FileOutputStream(statImagePath+ fileName);
       } catch (FileNotFoundException e) {
        e.printStackTrace();
       }
       try {
        ChartUtilities.writeChartAsJPEG(fos_jpg, 0.5f, chart, 400, 300,null);
       } catch (IOException e) {
        e.printStackTrace();
       }
      } finally {
       try {
        fos_jpg.close();
       } catch (Exception e) {
        e.printStackTrace();
       }
      }
        
     }
      public static void configFont(JFreeChart chart){  
             // 配置字體  
             Font xfont = new Font("宋體",Font.PLAIN,12) ;// X軸  
             Font yfont = new Font("宋體",Font.PLAIN,12) ;// Y軸  
             Font kfont = new Font("宋體",Font.PLAIN,12) ;// 底部  
             Font titleFont = new Font("隸書", Font.BOLD , 25) ; // 圖片標(biāo)題  
             CategoryPlot plot = chart.getCategoryPlot();// 圖形的繪制結(jié)構(gòu)對象  
               
             // 圖片標(biāo)題  
             chart.setTitle(new TextTitle(chart.getTitle().getText(),titleFont));  
               
             // 底部  
             chart.getLegend().setItemFont(kfont);  
               
             // X 軸  
             CategoryAxis domainAxis = plot.getDomainAxis();     
             domainAxis.setLabelFont(xfont);// 軸標(biāo)題  
             domainAxis.setTickLabelFont(xfont);// 軸數(shù)值    
             domainAxis.setTickLabelPaint(Color.BLUE) ; // 字體顏色  
             domainAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45); // 橫軸上的label斜顯示   
               
             // Y 軸  
             ValueAxis rangeAxis = plot.getRangeAxis();     
             rangeAxis.setLabelFont(yfont);   
             rangeAxis.setLabelPaint(Color.BLUE) ; // 字體顏色  
             rangeAxis.setTickLabelFont(yfont);    
               
         } 


     private static CategoryDataset getDataSet() {
      DefaultCategoryDataset dataset = new DefaultCategoryDataset();
       dataset.addValue(20, "銷售圖表", "蘋果");
       dataset.addValue(20, "銷售圖表", "梨");
       dataset.addValue(30, "銷售圖表", "香蕉");
       dataset.addValue(40, "銷售圖表", "葡萄");
       dataset.addValue(50, "銷售圖表", "桔子");
      
      return dataset;
     }
     public static void main(String args[]){
      
      doGet();
     }
    }

     


    FeedBack:
    # re: JFreeChart項目簡介
    2011-12-12 14:33 | JFreeChart項目簡介
    JFreeChart項目簡介  回復(fù)  更多評論
      
    # re: JFreeChart項目簡介
    2011-12-12 14:34 | JFreeChart項目簡介
    @JFreeChart項目簡介
    JFreeChart項目簡介JFreeChart項目簡介JFreeChart項目簡介JFreeChart項目簡介JFreeChart項目簡介JFreeChart項目簡介JFreeChart項目簡介JFreeChart項目簡介  回復(fù)  更多評論
      
    # re: JFreeChart項目簡介
    2011-12-12 14:34 | JFreeChart項目簡介
    JFreeChart項目簡介
    JFreeChart項目簡介
    JFreeChart項目簡介
    JFreeChart項目簡介  回復(fù)  更多評論
      

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    <2011年3月>
    272812345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿

    隨筆檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 精品国产亚洲AV麻豆| 午夜精品在线免费观看| 男女猛烈激情xx00免费视频 | 久久亚洲精品11p| 亚洲宅男永久在线| 亚洲人成人77777网站| 又粗又黄又猛又爽大片免费| 一个人免费观看视频www| 久久青草免费91线频观看站街| 老司机免费午夜精品视频| 亚洲人成网站18禁止| 亚洲国产精品综合久久网各| 亚洲最大的成网4438| 亚洲AV中文无码乱人伦下载| 国产亚洲精品成人a v小说| 九月婷婷亚洲综合在线| 国产精品另类激情久久久免费| 成人毛片18女人毛片免费视频未| 国产人成免费视频网站| 5g影院5g天天爽永久免费影院| 日韩精品免费在线视频| a毛片免费播放全部完整| 亚洲天堂免费在线视频| 一级毛片完整版免费播放一区| 豆国产96在线|亚洲| 国产精品亚洲av色欲三区| 亚洲综合av一区二区三区| 久久亚洲精品国产精品婷婷| 456亚洲人成在线播放网站| 亚洲人成伊人成综合网久久| 亚洲色图黄色小说| 亚洲精品视频久久| 亚洲图片激情小说| 亚洲一卡二卡三卡| 亚洲色大成网站www久久九| 亚洲爆乳成av人在线视菜奈实| 亚洲国产欧美国产综合一区 | 免费一看一级毛片人| 四虎AV永久在线精品免费观看| mm1313亚洲国产精品美女| 亚洲国产精品一区二区第四页 |