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

How can I change the colour of specific bars in jFreeChart bar

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

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

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

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

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

生成数据集:

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

希望对您有所帮助。