如何在对比型柱图上设置"数据下探"和文字说明

/**

**QQ:252574345

**MSN:lele_love_lomboz@hotmail.com

*/

首先我们看看在普通柱图上生成连接

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);
          
          }
          
         }
            
  
  }

  
 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值