StackedBarchart中不同rowkeys的自定义颜色

时间:2014-05-13 08:47:14

标签: java charts jfreechart

在这个jfreechart示例中,当所有rowkey都相同时,每个rowkey(ABZPROD)的颜色都是相同的:

   dataset.addValue(32.4, "ABZPROD", "Category 1");
   dataset.addValue(43.2, "ABZPROD", "Category 2");
   dataset.addValue(23.0, "ABZPROD", "Category 3");
   dataset.addValue(13.0, "ABZPROD", "Category 4");

enter image description here

但是当我将这些行键更改为不同(ABZPROD1,ABZPROD2,ABZPROD3等)时,颜色正在发生变化。我该如何防止这种情况发生?我想设置我的值,如下所示,并希望每个rowkey的颜色相同。不幸的是,当我运行它时,每个行键的每种颜色都不同(ABZPROD1为红色,ABZPROD2为蓝色等)。

   dataset.addValue(32.4, "ABZPROD1", "Category 1");
   dataset.addValue(43.2, "ABZPROD2", "Category 2");
   dataset.addValue(23.0, "ABZPROD3", "Category 3");
   dataset.addValue(13.0, "ABZPROD4", "Category 4");

1 个答案:

答案 0 :(得分:1)

最简单的方法是使用AbstractRenderer#setSeriesPaint

如果你先添加了这个系列,你可以这样做:

StackedBarRenderer renderer = (StackedBarRenderer) plot.getRenderer();
renderer.setSeriesPaint(0, Color.RED);
renderer.setSeriesPaint(1, Color.RED);
renderer.setSeriesPaint(2, Color.RED);
renderer.setSeriesPaint(3, Color.RED);

enter image description here