如何更改jFreeChart栏中特定条形的颜色

问题描述 投票:2回答:1

我编写了一个应用程序,它从jTable中读取一列并在条形图中绘制它。它工作正常,但现在,我想根据从长度列中读取的值为图表的某些条纹着色。

这是我的应用程序的一个正常示例:

Example

现在,正如我所解释的,我想改变特定条形的颜色,例如遵守这条规则:

如果长度> 18我们将为蓝色条纹着色

否则,如果长度<= 18,我们将为条纹RED着色

java swing colors jfreechart bar-chart
1个回答
3
投票

生成数据集:

final double[][] data = new double[][] {{4.0, 3.0, -2.0, 3.0, 6.0}};
DatasetUtilities.createCategoryDataset("Length", "Day of the Month", data);

在创建渲染器时,迭代每个点并定义自己的颜色:

Paint[] colors = new Paint[data.length];
for (int i = 0; i < colors.length; i++) {
    color[i] = data > 18 ? Color.blue : Color.red;
}
final CategoryItemRenderer renderer = new CustomRenderer(colors);

这篇文章很有用:Different bar chart colours within a series

希望能帮助到你。

© www.soinside.com 2019 - 2024. All rights reserved.