6.4 直方条形图的简单定制

调用JFreeChart和CategoryPlot类方法可以进行一些简单的直方图表外观的修改。例如,改变图表和区域的背景颜色代码如下:

chart.setBackgroundPaint(Color.white);
CategoryPlot plot = (CategoryPlot) chart.getPlot();
plot.setBackgroundPaint(Color.lightGray);
plot.setRangeGridlinePaint(Color.white);

该片段代码(摘自BarExample2.java类)显示了改变图表的背景颜色、获得图表的plot(区域)的引用,并且进行了修改——效果如图6.3.

图6.3一个直方条形图(参考:BarExample2.java)

区域Plot的引用(CategoryPlot)是必须的——转换类型也是非常安全的,因为我们知道该图表类型使用CategoryPlot。JFreeChart使用不同的区域类型(比如PiePlot、XYPlot)控制不同类型的图表。我们必须将plot的引用转化成图表响应的类型,因为基本类Plot仅仅定义了一些通用的属性和方法。随着对JFreeChart了解的加深,我们将学习每一种图表使用的不同的plot子类。

在我们的例子中,我们使用plot的引用来改变水平轴的网格线颜色。看一下CategoryPlot类的API文件,就会看到我们能够修改的地方。