我需要为堆积条形图中的每个条形设置一种独特的颜色。无论我在一个栏中看到什么颜色,它都不应该在任何其他栏或任何其他堆栈中重复。
例如: 我在报告中有5个小节。每个酒吧有3个不同的堆栈。我想将红色相关颜色应用到第一个条形图及其堆栈。第二个栏应该有蓝色相关的颜色。等等.. 它在附图中显示。图像显示了我们想要的基本要求。刚刚使用普通的ms画笔创建。 Stacked Bar MS Paint Image
答案 0 :(得分:6)
您可以覆盖getItemPaint()
的StackedBarRenderer()
方法以返回所需的颜色。您可以使用getHSBColor()通过改变给定色调的亮度或饱和度来构建相关颜色。
附录:下面的示例将打印出每个项目的行,列和颜色。您可以使用结果作为要返回的自定义颜色的指南。有关示例数据集,请参阅BarChartDemo1
。
plot.setRenderer(new MySBRenderer());
...
private static class MySBRenderer extends StackedBarRenderer {
@Override
public Paint getItemPaint(int row, int col) {
System.out.println(row + " " + col + " " + super.getItemPaint(row, col));
return super.getItemPaint(row, col);
}
}