问题描述:当设置值域变化范围时例如,最大值为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);