JFreeChart barRenderer 最大值最小值得显示问题

   问题描述:当设置值域变化范围时例如,最大值为100,而柱形图100如何在顶端正常显示

  //设置正常显示的柱子label的position
    barRenderer.setBasePositiveItemLabelPosition(itemLabelPosition);
     barRenderer.setBaseNegativeItemLabelPosition(itemLabelPosition);
     //如果数值没有显示空间,设置显示格式   
    ItemLabelPosition itemLabelPositionFallback=new ItemLabelPosition(   
   ItemLabelAnchor.INSIDE12,TextAnchor.CENTER_RIGHT, TextAnchor.CENTER_RIGHT,0);   
    barRenderer.setPositiveItemLabelPositionFallback(itemLabelPositionFallback);   
    barRenderer.setNegativeItemLabelPositionFallback(itemLabelPositionFallback); 

以上方式可设置当全部不正常,显示在柱图上;或者全部正常的状态,全部显示在顶部;当部分最大值,部分最小值时如何设置最大值或最小值的显示。

可通过显示在顶部,并设置 numberAxis.setUpperBound(104);

也即numberAxis.setUpperBound(num);num=100+a;100为规定的最大值,0<a<5,5为最大值时刻度的最小值


既可以标尺显示为规定的最大值,又可以在顶部将最大值显示出来


NumberAxis numberAxis = (NumberAxis) categoryPlot.getRangeAxis(); // 纵坐标--范围轴

    numberAxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 12));// 纵坐标y轴坐标字体
    numberAxis.setLabelFont(new Font("微软雅黑", Font.PLAIN, 12)); // 纵坐标y轴标题字体
    numberAxis.setUpperMargin(0.15D); // 设置最高的一个 Item 与图片顶端的距离
    numberAxis.setLowerMargin(0.1D);// 设置最低的一个 Item 与图片底端的距离

    numberAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());// 设置刻度单位 为Integer 而不是展示数据样式

    numberAxis.setUpperBound(104);//设置最大值的显示问题
    
    
    BarRenderer barRenderer = (BarRenderer) categoryPlot.getRenderer(); // 渲染 - 中间的部分
    barRenderer.setMaximumBarWidth(1.6); // 设置柱子宽度
    barRenderer.setMinimumBarLength(0); // 设置柱子高度
   // barRenderer.setBaseOutlinePaint(Color.BLACK);// 设置柱子边框颜色
    barRenderer.setDrawBarOutline(false);// 设置柱子边框可见
    barRenderer.setSeriesPaint(0,new Color(26, 173, 207));// 设置柱的颜色 new Color(0, 255, 0)
    //barRenderer.setSeriesPaint(2, Color.decode("#ff0000"));
    barRenderer.setItemMargin(0.2D); // 设置每个柱之间距离
    barRenderer.setIncludeBaseInRange(true);// 显示每个柱的数值,并修改该数值的字体属性
    
    barRenderer.setBaseItemLabelGenerator( new StandardCategoryItemLabelGenerator());
    barRenderer.setBaseItemLabelsVisible(true);
    barRenderer.setBaseItemLabelPaint(Color.BLACK);//设置数值颜色,默认黑色 
    barRenderer.setBarPainter( new StandardBarPainter()); //取消渐变效果 平面图显示
    barRenderer.setItemLabelAnchorOffset(0);//设置距离右边距距离
    ItemLabelPosition itemLabelPosition= new ItemLabelPosition(
            ItemLabelAnchor.OUTSIDE3,TextAnchor.CENTER_LEFT,
            TextAnchor.CENTER_LEFT,0);
    //设置正常显示的柱子label的position
    barRenderer.setBasePositiveItemLabelPosition(itemLabelPosition);
     barRenderer.setBaseNegativeItemLabelPosition(itemLabelPosition);
     /*如果数值没有显示空间,设置显示格式   */
    ItemLabelPosition itemLabelPositionFallback=new ItemLabelPosition(   
  ItemLabelAnchor.INSIDE12,TextAnchor.CENTER_RIGHT, TextAnchor.CENTER_RIGHT,0);   
    barRenderer.setPositiveItemLabelPositionFallback(itemLabelPositionFallback);   
    barRenderer.setNegativeItemLabelPositionFallback(itemLabelPositionFallback); 
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三知之灵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值