在上面的条形图中,对于灰色条,我希望标签文本(阈值50%)显示在灰色条内。目前由于以下代码而在外面显示
renderer.setBaseItemLabelPaint(Color.red);
renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(
ItemLabelAnchor.OUTSIDE3, TextAnchor.CENTER_LEFT,
TextAnchor.CENTER, 0.0));
如何将上述条件仅应用于第二个红色条和&不要去其他酒吧
这是我的数据集
cat Category Value
0 0.000000
1 You 10% 0.100000
2 Threshold 50% 0.500000
答案 0 :(得分:0)
这可以通过覆盖getPositiveItemLabelPosition
java class的AbstractCategoryItemRenderer
方法来实现。
@Override
public ItemLabelPosition getPositiveItemLabelPosition(int row,
int column) {
CategoryDataset dataset = getPlot().getDataset();
double value = dataset.getValue(row, column).doubleValue();
if (value < 0.15) {
return new ItemLabelPosition(ItemLabelAnchor.OUTSIDE3,
TextAnchor.CENTER_LEFT, TextAnchor.CENTER, 0.0);
} else {
return new ItemLabelPosition(ItemLabelAnchor.INSIDE3,
TextAnchor.CENTER_RIGHT, TextAnchor.CENTER, 0.0);
}
}