我编写了一个应用程序,它从jTable中读取一列并在条形图中绘制它。 它工作正常,但现在,我想根据从长度列中读取的值,为图表的某些条添加颜色。
以下是我的应用程序的正常示例:
现在,正如我所解释的那样,我想改变特定条形的颜色,例如遵守这条规则:
如果长度为> 18 我们会为条纹着色 BLUE
否则,如果长度为< = 18 我们会为条纹着色 RED
答案 0 :(得分: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
希望它有所帮助。