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

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

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

    把困難踩在腳下

    迎難而上

     

    使用JFreeChart生成圖表

    要求:運用開源的JFreeChart生成一個柱形圖。

    新建一個project,將JFreeChar的jar包導入到該project,然后新建一個SalesCountServlet  .java

    代碼如下:

     

    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; 

    public class SalesCountServlet  

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

            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, 400300,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) ; // 圖片標題   
                CategoryPlot plot = chart.getCategoryPlot();// 圖形的繪制結構對象   
                
    // 圖片標題   
                chart.setTitle(new TextTitle(chart.getTitle().getText(),titleFont));   
                
    // 底部   
                chart.getLegend().setItemFont(kfont);   
                
    // X 軸   
                CategoryAxis domainAxis = plot.getDomainAxis();      
                domainAxis.setLabelFont(xfont);
    // 軸標題   
                domainAxis.setTickLabelFont(xfont);// 軸數值     
                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();
        }

    }
     

    運行程序后就會在d盤根目錄下找到一個SalesCount.jpg的文件,打開顯示結果如下:

    SalesCount

    希望各位大蝦不吝賜教!

    posted on 2011-01-18 17:14 馮魁 閱讀(429) 評論(0)  編輯  收藏


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


    網站導航:
     

    導航

    統計

    公告

    快樂每一天!

    Everything is an object!

    常用鏈接

    留言簿(2)

    隨筆檔案

    學習網站

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产成人无码免费网站| 亚洲av无码专区国产不乱码| 一道本在线免费视频| 日韩免费视频观看| 久久亚洲精品11p| 日韩精品电影一区亚洲| 黄页网站在线视频免费| 亚洲人成网站18禁止一区| 免费大片av手机看片高清| 亚洲一区精品伊人久久伊人| 国产精品高清免费网站| 亚洲AV无码国产丝袜在线观看 | 美美女高清毛片视频黄的一免费| 免费中文熟妇在线影片 | 69成人免费视频无码专区| 亚洲天然素人无码专区| 四虎永久精品免费观看| 亚洲一区二区三区免费| 图图资源网亚洲综合网站| 1000部免费啪啪十八未年禁止观看 | aa在线免费观看| 久久精品国产96精品亚洲| 国产精品成人观看视频免费| 亚洲性无码一区二区三区| 亚洲国产成人精品久久久国产成人一区二区三区综 | 亚洲在成人网在线看| 大学生高清一级毛片免费| 杨幂最新免费特级毛片| 亚洲精品乱码久久久久久蜜桃不卡| 在线观看免费中文视频| 亚洲国产精品嫩草影院| 亚洲国产精品成人AV无码久久综合影院| 久久久久久国产a免费观看不卡| 99亚洲精品高清一二区| 免费毛片在线播放| 国产自国产自愉自愉免费24区| 亚洲成a人片在线不卡| 亚洲视频一区二区| 日韩亚洲国产高清免费视频| 黄色a三级免费看| 亚洲女人18毛片水真多|