<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无码免费专区| 亚洲熟妇自偷自拍另欧美| 成人亚洲国产va天堂| a级毛片免费完整视频| 中文字幕中韩乱码亚洲大片| 亚洲高清乱码午夜电影网| 色片在线免费观看| 亚洲资源最新版在线观看| 久久国产精品一区免费下载| 在线亚洲97se亚洲综合在线| a毛看片免费观看视频| 久久亚洲中文无码咪咪爱| 国产免费资源高清小视频在线观看| 日韩国产精品亚洲а∨天堂免| 亚洲成av人片天堂网| 亚洲天堂免费在线| 亚洲Av永久无码精品一区二区| 亚洲小视频在线观看| 在线观看免费人成视频| 日韩毛片免费一二三| 亚洲国产成人高清在线观看 | 国产特级淫片免费看| 国产又黄又爽胸又大免费视频 | 亚洲人配人种jizz| 久久久久久亚洲av成人无码国产| 免费无码黄十八禁网站在线观看 | 久久www免费人成看片| 国产精品亚洲一区二区无码| 亚洲AV本道一区二区三区四区 | 美女18一级毛片免费看| 婷婷亚洲综合一区二区| 久久久久久a亚洲欧洲AV| 亚洲邪恶天堂影院在线观看| 亚洲日本乱码卡2卡3卡新区| 精品亚洲福利一区二区| 99精品免费视品| 中文字幕无码成人免费视频 | 亚洲精品在线视频观看| 亚洲综合在线观看视频| 亚洲av无码不卡私人影院| 免费观看理论片毛片|