我编写了一个应用程序,它从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
希望能帮助到你。