我已使用以下代码向条形图(显示在条形图内)添加了标签。现在,如果条的宽度小于标签文本的宽度,我想在外面(条形图的右侧)显示标签。
BarRenderer renderer = (BarRenderer) plot.getRenderer();
CategoryItemLabelGenerator generator
= new StandardCategoryItemLabelGenerator("{1}",
NumberFormat.getInstance());
renderer.setBaseItemLabelGenerator(generator);
renderer.setBaseItemLabelFont(new Font("Arial", Font.BOLD, 7));
renderer.setBaseItemLabelsVisible(true);
renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(
ItemLabelAnchor.OUTSIDE3, TextAnchor.CENTER_RIGHT, TextAnchor.CENTER,
0.0));
我尝试使用setPositiveItemLabelPositionFallback
方法,但没有帮助。
ItemLabelPosition p2 = new ItemLabelPosition(
ItemLabelAnchor.OUTSIDE3, TextAnchor.CENTER_LEFT,
TextAnchor.CENTER_LEFT, 0.0);
renderer.setPositiveItemLabelPositionFallback(p2);
答案 0 :(得分:0)
将您的代码更新为
renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.INSIDE3, TextAnchor.CENTER_RIGHT, TextAnchor.CENTER, 0.0));
所以整个代码是
BarRenderer renderer = (BarRenderer) plot.getRenderer();
CategoryItemLabelGenerator generator = new StandardCategoryItemLabelGenerator("{1}", NumberFormat.getInstance());
renderer.setBaseItemLabelGenerator(generator);
renderer.setBaseItemLabelFont(new Font("Arial", Font.BOLD, 7));
renderer.setBaseItemLabelsVisible(true);
renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.INSIDE3, TextAnchor.CENTER_RIGHT, TextAnchor.CENTER, 0.0));
ItemLabelPosition p2 = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE3, TextAnchor.CENTER_LEFT, TextAnchor.CENTER_LEFT, 0.0);
renderer.setPositiveItemLabelPositionFallback(p2);