Python数据可视化之matplotlib精进
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.1 圆的实现方法

圆的构造函数是实现圆的绘制的实例方法。我们可以通过具体代码来讲解构造函数的使用方法。

1.代码实现

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

图2-1

3.代码精讲

(1)以“Circle((2,2),radius=2,facecolor="white",edgecolor="cornflowerblue")”语句为例,讲解类Circle的使用方法,具体参数和参数值的含义如下。

● (2,2):圆的中心的坐标位置。

● radius:圆的半径大小。

● facecolor:圆的填充颜色。

● edgecolor:圆的轮廓的颜色。

(2)通过调用“Circle((2,2),radius=2,facecolor="white",edgecolor="cornflowerblue")”语句,生成了子区1中圆心在(2,2)处、半径为2、填充颜色是白色和轮廓颜色是矢车菊蓝的圆的实例。

(3)为了在子区1中展示实例circle的可视化效果,需要调用“ax[0,0].add_patch(circle)”语句。也就是说,需要调用实例方法add_patch()将实例circle以参数值形式添加到坐标轴实例ax[0,0]中,从而完成指定位置和指定半径的圆的绘制工作。

(4)为了清楚地显示绘制的圆的位置和半径,调用实例方法set_xlim()和set_ylim(),调整x轴和y轴的坐标轴的显示范围。

注意:

子区1中圆的形状并不是圆,而是椭圆,是由于坐标轴的刻度线的变化量不一致导致的。

(5)为了解决圆的形状不理想的问题,调用“ax[0,1].set_aspect("equal","box")”语句。这样,我们就实现了x轴和y轴的长度相同、刻度线的变化量相同的目标。

(6)为了凸显圆的形状的理想情况,调用类Rectangle的实例方法set_facecolor()分别设置子区2、子区3和子区4 的坐标轴的背景色。

(7)在子区2中,可以看到在调用这些语句后产生的理想的圆的展示效果。

(8)在子区 3 中,不进行调整 x 轴和 y 轴的坐标轴的显示范围的操作,只是简单地调用“ax[1,0].axis("equal")”语句,将刻度线的变化量进行调整,使之保持相同的增量,从而产生理想的圆的可视化效果。

(9)在子区4中,既通过调用“ax[1,1].axis([-1,5,-1,5])”语句调整了x轴和y轴的坐标轴的显示范围和通过调用“ax[1,1].set_yticks(np.arange(-1,6,1))”语句调整了刻度线的位置,也通过调用“ax[1,1].axis("equal")”语句调整了刻度线的变化量。