
2.3 矩形的实现方法
矩形是数据可视化中一种比较常见的几何图形。在具体实践中,我们通过类Rectangle生成矩形实例,将矩形实例添加到坐标轴中,从而完成矩形的绘制任务。这种多边形既可以充当坐标轴背景,也可以作为组合图形的一部分。下面,我们就将已经介绍过的相关内容和绘制矩形的实现方法结合起来,完成一幅简易图画的绘制任务。
1.代码实现


2.运行结果(见图2-3)

图2-3
3.代码精讲
(1)通过调用“ax.patch”语句,获得类Rectangle(xy=(0,0),width=1,height=1)的实例rectangle。
(2)通过调用“rectangle.set_facecolor("lightskyblue")”语句,设置坐标轴实例ax的背景色。
(3)通过调用“Rectangle((1,0),3,3,facecolor="w",edgecolor="rosybrown")”语句,绘制第一个矩形。这个矩形的左下角顶点的坐标是(1,0),矩形的宽度和高度都是 3,也是一个正方形。我们也设置了矩形内部的填充颜色和轮廓的线条颜色。其他两个矩形的绘制方法与第一个矩形的绘制方法完全相同,只是矩形的左下角顶点的位置和矩形的形状不同。
注意:
第二个矩形rectangle2还使用参数hatch增加了装饰图案“|”,使房子的门产生木质纹理的展示效果。
(4)使用“ax.plot([1,2.5,4],[3,4.5,3],color="rosybrown")”语句,设置屋顶的轮廓的线条颜色。
(5)通过实例方法plot()向第三个矩形中添加了窗户的窗框。
(6)通过调用实例方法fill_between()将屋顶的填充颜色设置为白色,与所有矩形内部的填充颜色一致。
这样,我们将绘制矩形的方法与前面讲过的相关方法相结合,相对完整地绘制了一个简易房屋。需要补充的是,我们看到,使用 matplotlib 不仅可以完成绘制统计图形的任务,还可以实现绘制图画的目标。