我们在matplotlib基础中提过图表是由艺术家使用渲染器在画布上完成的。
而艺术家有两种类型:图元与容器。图元表示绘制在画布上的标准图形对象,如:Line2D,容器是放置图元的位置如:Axis,Axes和Figure。标准用法是创建一个Figure实例,使用Figure来创建一个或多个Axes或Subplot实例,并使用Axes实例的辅助方法创建图元。
Axes实例中有20个基础的辅助制图方法,其中plot, bar, scatter我们已经非常熟悉了,本例我们将了解vlines与hlines的使用方法。
仅从签名即可看出,调用vlines方法至少需要 x, ymin, ymax 3个参数,用于交代清楚垂线的位置及长度。
在vlines内部,x, ymin, ymax将转换为LineCollection接受的样式,保存在形如(len(x), 2, 2)的MaskedArray中。表示有len(x)条线,每条线有2个顶点,每个顶点有2个要素(x, y)
x = [.2, .4, .6, .8]
ymin = [.1, .3, .5, .7]
ymax = [.3, .5, .7, .9]
masked_verts = np.ma.empty((len(x), 2, 2))
masked_verts[:, 0, 0] = x
masked_verts[:, 0, 1] = ymin
masked_verts[:, 1, 0] = x
masked_verts[:, 1, 1] = ymax
lines =