3

我需要为堆积条形图中的每个条形设置唯一的颜色。无论我在一个条中看到什么颜色,都不应该在任何其他条或任何其他堆栈中重复。

例如:我在报告中有 5 个条形图。每个酒吧有 3 个不同的堆栈。我想将红色相关颜色应用于第一个栏及其堆栈。第二条应该有蓝色相关的颜色。等等。它显示在附图中。该图像显示了我们想要的一个非常基本的要求。刚刚使用普通的 ms 绘制创建。 堆叠条 MS Paint 图像

4

1 回答 1

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);
    }
}
于 2010-06-09T14:30:36.770 回答