如何在對比型柱圖上設置"數據下探"和文字說明

/**

**QQ:252574345

**MSN:[email protected]

*/

首先我們看看在普通柱圖上生成連接

renderer.setBaseItemURLGenerator(new StandardCategoryURLGenerator(
        "detail.jsp", "fruit", ""));
plot.setRenderer(renderer);

只要這樣做就可以了.這個時候,在每根柱上都生成了連接,我們可以在這裏設置一些參數,比如該組id,因爲往往組id是唯一的查詢條件.根據該組id在查詢這個組的具體詳細信息.這樣做當然是合理的可行的.因爲這裏的每根柱子代表一個組,而該組內在沒有分組

但是當我們業務發生變化:不僅僅要對這些組進行對比,還要對組內各個分組進行對比顯示的時候,就要用到對比柱圖了

 

在對比圖上設置鏈接時,不可避免的遇到一個問題描述如下(不能發圖,只好描述了):

當前組有水果 蔬菜 肉類 蛋

水果組內有蘋果 ,香蕉,李子等

蔬菜組內有蘿蔔,白菜,青菜

肉類組裏有牛肉,豬肉,狗肉

蛋類組內有雞蛋,鴨蛋等

首先需要用對比柱圖顯示各個組,並對比顯示各個組的分組

需要爲各個塊都生成連接,也就是說點 蘋果的時候,向後臺傳遞的是:水果組 id, 蘋果分組id

而我們發現,jfreechart裏,我們只能通過

renderer.setBaseItemURLGenerator(new StandardCategoryURLGenerator(
        "detail.jsp", "fruit", ""));
plot.setRenderer(renderer);

這樣的設置,只是爲每個大組設置了參數,而不能爲每個小組設置參數,從而傳遞到後臺

通過跟蹤發現

修改CategoryItemEntity類setURLText(url);可以達到目的

解決方式:

 

  StandardEntityCollection sec=new StandardEntityCollection();


  
  ChartRenderingInfo info = new ChartRenderingInfo(sec);

 Collection ce=new  ArrayList();
 ce=sec.getEntities();
 Object[] keys=paths.keySet().toArray();
 Object ohjs[]=ce.toArray();

 for(int i=0;i<ce.size();i++){
 

  if(ohjs[i] instanceof CategoryItemEntity){
   CategoryItemEntity cir=(CategoryItemEntity)(ohjs[i]);

//這裏執行自己的運算邏輯,生成url ,  title
             cir.setURLText(url);

           cir.setToolTipText(des);
          
          }
          
         }
            
  
  }

  
 }

發佈了1 篇原創文章 · 獲贊 0 · 訪問量 7699
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章