多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 6.5 定制外观 回顾6.3节内容,CategoryPlot管理这一个BarRenderer的实例renderer。如果我们想获得这个renderer的引用,大量的定制选择项会变得有效。 ### 6.5.1 直方条形图颜色 改变图表中每个系列直方图的颜色,使用如下代码: ``` BarRenderer renderer = (BarRenderer) plot.getRenderer(); renderer.setSeriesPaint(0, Color.gray); renderer.setSeriesPaint(1, Color.orange); renderer.setDrawBarOutline(false); ``` 运行上面代码显示的结果如下图6.4.注意setSeriesPaint()方法是在抽象AbstractRenderer基类里面定义的——所以,我们可以在任何类型的renderer里面使用。 ![](https://box.kancloud.cn/2016-01-23_56a340841ec90.png) 图6.4一个直方条形图(参考:BarExample3.java) ### 6.5.2 种类里直方条形图之间的空间 此外,renderer还可以控制每个种类中直方条形图之间的间距。因此我们可以在同一个种类中将空间完全去掉,代码如下: ``` BarRenderer renderer = (BarRenderer) plot.getRenderer(); renderer.setItemMargin(0.0); ``` 代码显示的结果如图6.5所示。 ![](https://box.kancloud.cn/2016-01-23_56a340842e589.png) 图6.5一个直方条形图(参考:BarExample4.java) 注意条形图看上去有点变宽——主要是因为JFreeChart分配空间时,分配给种类条形图之间的间距的尺度比较少,所以看上去就显得有点长宽了。