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

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

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

    賢仁居 George Gong
    It's never too late to learn
    posts - 32,comments - 16,trackbacks - 0

    以下代碼用到了大多數方法(附有注釋):

     private String createBarChart(String[] series,String[] categories,double[][] data,HttpSession session,PrintWriter printWriter){
             
           CategoryDataset dataset 
    = DatasetUtilities.createCategoryDataset(series, categories, data);
      
        JFreeChart chart 
    = ChartFactory.createBarChart3D("預算統計圖""預算科目","實際執行額",
                 dataset,PlotOrientation.VERTICAL,
    true,true,false);
           
           chart.setBackgroundPaint(Color.WHITE);   
    //設定背景色為白色
           
           CategoryPlot categoryPlot 
    = chart.getCategoryPlot();  //獲得 plot:CategoryPlot!!
           
           categoryPlot.setBackgroundPaint(Color.lightGray); 
    //設定圖表數據顯示部分背景色
           
           categoryPlot.setDomainGridlinePaint(Color.white); 
    //橫坐標網格線白色
           categoryPlot.setDomainGridlinesVisible(true); //可見
           
           categoryPlot.setRangeGridlinePaint(Color.white); 
    //縱坐標網格線白色
         
           CategoryAxis domainAxis 
    = categoryPlot.getDomainAxis();
           
           
    //設置 categoryAxis 垂直顯示
         domainAxis.setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(0.4));
         
         
    //設置哼坐標軸的標題字體,此處是“預算科目”
            domainAxis.setLabelFont(new Font("SansSerif",Font.PLAIN,13));
           
           
    //設置距離圖片左端距離,參數為圖片的百分比
           domainAxis.setLowerMargin(0.05);
           
           
    //設置距離圖片右端距離
           domainAxis.setUpperMargin(0.05);
               
           
    //設置橫坐標的坐標值的字體
           domainAxis.setTickLabelFont(new Font("SansSerif",Font.PLAIN,12));
           
           categoryPlot.setDomainAxis(domainAxis); 
                
           ValueAxis rangeAxis 
    = categoryPlot.getRangeAxis();
           
    //設置最高的一個柱與圖片頂端的距離
           rangeAxis.setUpperMargin(0.05);
           
           
    //設置最低的一個柱與圖片底端的距離
           rangeAxis.setLowerMargin(0.05);
           categoryPlot.setRangeAxis(rangeAxis); 
           
           
    //設置豎坐標標簽的旋轉角度
           rangeAxis.setLabelAngle(0.05);
           
           
    //設置豎坐標軸的坐標值字體
    //       rangeAxis.setTickLabelFont(new Font("SansSerif",Font.PLAIN,12));
      
           BarRenderer3D renderer
    =(BarRenderer3D) categoryPlot.getRenderer();
           
           renderer.setBaseOutlinePaint(Color.GREEN);
           
    //設置 Wall 的顏色
           renderer.setWallPaint(Color.PINK);
           
           
    //設置每個柱的顏色     
           GradientPaint gradientpaint = new GradientPaint(0.0F0.0F, Color.blue,
                    
    0.0F0.0Fnew Color(0064)); //設定特定顏色
      GradientPaint gradientpaint1 = new GradientPaint(0.0F0.0F, Color.green,
               
    0.0F0.0Fnew Color(0640));
     
           renderer.setSeriesPaint(
    0, gradientpaint);
           renderer.setSeriesPaint(
    1, gradientpaint1);
           
           
    //設置柱的 Outline 顏色
           renderer.setSeriesOutlinePaint(0, Color.BLACK);
           renderer.setSeriesOutlinePaint(
    1, Color.BLACK);
           
    //設置每個category所包含的平行柱的之間距離
           renderer.setItemMargin(0.1);
        
           
    //顯示每個柱的數值,并修改該數值的字體屬性
           renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
           
           
    //設置柱子上數值的字體
           renderer.setItemLabelFont(new Font("SansSerif",Font.PLAIN,13));  
           renderer.setItemLabelsVisible(
    true);
         
           
    //設置柱子上數據的顏色
           renderer.setItemLabelPaint(Color.RED);
           
           
    //設置bar的最小寬度,以保證能顯示數值
           renderer.setMinimumBarLength(0.02);
           
           
    //最大寬度
           renderer.setMaximumBarWidth(0.07);
           
           
           
    //設置柱子上顯示的數據旋轉90度,最后一個參數為旋轉的角度值/3.14
           ItemLabelPosition itemLabelPosition= new ItemLabelPosition(
             ItemLabelAnchor.INSIDE12,TextAnchor.CENTER_RIGHT,
             TextAnchor.CENTER_RIGHT,
    -1.57D);
           
           
    //設置不能在柱子上正常顯示的那些數值的顯示方式,將這些數值顯示在柱子外面
           ItemLabelPosition itemLabelPositionFallback=new ItemLabelPosition(
             ItemLabelAnchor.OUTSIDE12,TextAnchor.BASELINE_LEFT,
             TextAnchor.HALF_ASCENT_LEFT,
    -1.57D);
           
           
    //設置正常顯示的柱子label的position
           renderer.setPositiveItemLabelPosition(itemLabelPosition);
           renderer.setNegativeItemLabelPosition(itemLabelPosition);
           
           
    //設置不能正常顯示的柱子label的position
           renderer.setPositiveItemLabelPositionFallback(itemLabelPositionFallback);
           renderer.setNegativeItemLabelPositionFallback(itemLabelPositionFallback);
           
           categoryPlot.setRenderer(renderer);
           
    //設置柱子的透明度
           categoryPlot.setForegroundAlpha(0.8f);
           
           
    //設置地區、銷量的顯示位置
    //       categoryPlot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT);
    //       categoryPlot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_RIGHT); 
          
           StandardEntityCollection sec 
    = new StandardEntityCollection(); 
           ChartRenderingInfo info 
    = new ChartRenderingInfo(sec);
                 
           
    try {
             ServletUtilities.setTempFilePrefix(
    "zcz");
             ServletUtilities.setTempOneTimeFilePrefix(
    "zcz-onetime");
            
               filename 
    = ServletUtilities.saveChartAsPNG(chart, 926555, info, session);   
               chartName
    =filename;
               
               System.out.println(
    "圖片的臨時保存路徑:"+System.getProperty("java.io.tmpdir"));
           }
     catch (IOException ex) {
               ex.printStackTrace();
           }

              
               String myMap
    =ChartUtilities.getImageMap(filename, info);
               printWriter.println(myMap);
        
         
    return filename;
        }
    posted on 2007-07-23 10:47 George Gong 閱讀(1353) 評論(2)  編輯  收藏 所屬分類: JAVA&&J2EE

    FeedBack:
    # re: jfreechart 柱型圖應用
    2007-12-03 15:58 | 羅夕
    謝謝分享  回復  更多評論
      
    # re: jfreechart 柱型圖應用[未登錄]
    2008-05-14 11:57 | a
    hao  回復  更多評論
      
    主站蜘蛛池模板: 久久国产精品免费网站| 一个人免费观看视频在线中文| 久久综合给合久久国产免费 | 成人免费a级毛片无码网站入口| 亚洲国产精品久久久久婷婷老年| 国产午夜精品理论片免费观看 | 国产在线a不卡免费视频| 亚洲youwu永久无码精品 | 特a级免费高清黄色片| 亚洲男女内射在线播放| 成人国产网站v片免费观看 | 久久夜色精品国产亚洲AV动态图| 免费a级毛片无码a∨免费软件| 亚洲乱码国产乱码精品精| 日韩在线永久免费播放| 亚洲天堂电影在线观看| 我要看免费的毛片| 无码日韩人妻AV一区免费l| 亚洲无av在线中文字幕| 久久久久久毛片免费播放| 亚洲色图激情文学| 免费一级毛片不卡在线播放| 亚欧国产一级在线免费| 久久久久久久久亚洲| 免费电影在线观看网站| 国产亚洲美女精品久久久久| 亚洲色偷偷偷鲁综合| 精品国产sm捆绑最大网免费站| 在线观看亚洲AV日韩AV| 亚洲视频在线一区二区| 午夜精品免费在线观看| 亚洲精品中文字幕无码A片老| 亚洲国产精品自产在线播放| 午夜免费福利视频| 立即播放免费毛片一级| 久久亚洲精品中文字幕无码| 午夜无遮挡羞羞漫画免费| A级毛片成人网站免费看| 亚洲国产高清视频在线观看| 亚洲av无码专区在线观看素人| 99视频在线精品免费|