当前位置: 代码迷 >> Web前端 >> 关于Jfreechart生成柱状图颜色设置议论
  详细解决方案

关于Jfreechart生成柱状图颜色设置议论

热度:206   发布时间:2012-10-28 09:54:44.0
关于Jfreechart生成柱状图颜色设置讨论
在用Jfreechart生成柱状图过程发现一个问题:
Jfreechart生成的柱状图,柱子的顺序 是根据数据来随机生成的。无法做到固定。比如:
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
??????? dataset.addValue(200, "计划", "清华大学");
??????? dataset.addValue(400, "实报", "清华大学");
??????? dataset.addValue(100, "计划", "天津大学");
??????? dataset.addValue(205, "实报", "天津大学");
??????? dataset.addValue(200, "计划", "郑州大学");
??????? dataset.addValue(285, "实报", "郑州大学");
这样一组数据,设置柱子颜色 :?
????????renderer.setSeriesPaint(0, ‘红色’);
??????? renderer.setSeriesPaint(1, “绿色”);
这样生成的柱状图:计划那根柱子就是 红色, 实报那根柱子就是? 蓝色
现在如果这个月没有产生计划的数据即:
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
??????? dataset.addValue(400, "实报", "清华大学");
??????? dataset.addValue(205, "实报", "天津大学");
??????? dataset.addValue(285, "实报", "郑州大学");
这样的话 柱状图就变成: 实报变成了 红色 了。
这样两个月数据,柱状的颜色就发生了变化。Jfreechart好像做不到柱子颜色固定。
1 楼 zgd000888 2010-12-09  
例如想设置“实报”为绿色,可以先取得“实报”series在dataset中的索引,然后根据索引设置该series的颜色。代码如下:
int index = dataset.getRowIndex("实报");
renderer.setSeriesPaint(index, Color.green);

PS:比你结帖晚了一步啊。。。我回答你问题时帖子还是开放的,等一点提交,泪啊。。。
2 楼 jieping310 2010-12-13