<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

    常用鏈接

    留言簿

    隨筆檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产成人 亚洲欧洲| 一二三四影视在线看片免费| 最新亚洲人成网站在线观看| 成人免费网站在线观看| 亚洲色大情网站www| 国产成人精品亚洲2020| 天天影院成人免费观看| 国产免费一区二区三区| 亚洲国产高清在线一区二区三区| 亚洲国产天堂久久综合| 久久亚洲中文字幕无码| 最近的中文字幕大全免费8| 日韩精品久久久久久免费| 国产精品国产免费无码专区不卡 | 性生交片免费无码看人| 亚洲线精品一区二区三区| 国产一精品一av一免费爽爽| 亚洲精品免费在线观看| 青青在线久青草免费观看| 国产亚洲精品无码成人| 蜜芽亚洲av无码一区二区三区| 91精品国产免费久久久久久青草| 最新国产AV无码专区亚洲| 免费h视频在线观看| 亚洲乱码一区av春药高潮| 亚洲精品无码高潮喷水A片软| 亚洲av无一区二区三区| 亚洲国产婷婷综合在线精品| 3344在线看片免费| 亚洲一卡二卡三卡| 一级毛片成人免费看免费不卡 | 97在线免费视频| 亚洲A丁香五香天堂网| 成全视频免费观看在线看| 亚洲一区二区三区在线播放| 免费观看男人吊女人视频| 亚洲AV综合色区无码二区偷拍 | 激情内射亚洲一区二区三区爱妻| 免费国产污网站在线观看15| 亚洲欧美国产日韩av野草社区| 一级女人18毛片免费|