【问题标题】:Color each bar individually in a grouped, stacked bar chart in jfreechart在 jfreechart 的分组堆叠条形图中分别为每个条形着色
【发布时间】:2012-10-03 13:22:10
【问题描述】:

在 jfreechart 中,我有一个渲染器,例如

GroupedStackedBarRenderer renderer = new GroupedStackedBarRenderer();

在我的示例中,我有 4 组,每组 5 个堆叠的条(每个堆叠 2 个条),总共 40 个条。

我使用了类似的结构

renderer.setSeriesPaint(0 + 2 * (length * s + g), <color for this bar>);
renderer.setSeriesPaint(1 + 2 * (length * s + g), <color for this bar>);

为了单独为每个条着色,其中 g 表示组,“长度”是组数,s 组内堆叠的条数。

不幸的是,这不起作用。我做错了什么?

【问题讨论】:

    标签: jfreechart bar-chart


    【解决方案1】:

    您应该能够通过覆盖getItemPaint() 创建任何您想要的配色方案,如example 所示。注意StandardXYBarPainter 的使用。打印出一些值可能会有所帮助,如here 所示。如果没有,请编辑您的问题以包含一个 sscce,以显示您的方法。

    【讨论】:

    • 我看不到如何从您的答案中为每个条形选择颜色。但我发现了以下内容:我正在用填充 40 个条形图
    • ... categoryset.addValue(value, rowkey, columnkey) 然后尝试使用 renderer.getSeriesPaint(barNumber, color) 为每个条形着色。但是,只有前 10 个 barNumber(0 到 9)生效。这对应于第一组条形。其余 3 组条的颜色与第一组相同。我需要一个像 setBarPaint() 这样的函数,但这显然不存在。能不能说的具体一点?
    • 请编辑您的问题以包含一个sscce,以显示您如何覆盖getItemPaint(),如引用的示例所示。
    猜你喜欢
    • 2023-04-09
    • 2021-02-25
    • 2018-04-01
    • 2017-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多