Matplotlib图元与容器

Matplotlib实现绘图的基本工具是图元(Primitive)和容器(Container)。图元是绘制的基本图形元素,比如Line2D,Circle,Rectangle,AxesImage等;容器将多个图元组织和管理起来,形成用户最终所需的图像。容器之间为层级关系,从高到低依次为Figure,Axes,Axis,Tick。位于高层的容器包含多个低层的容器。

Artist模块实现图元和容器的相关类;pyplot模块根据这些类提供与matlab相似的绘图交互过程,一种基于状态机的绘图方式。Python作为一种通用编程语言,如果掌握了图元和容器的操作,是可以实现以面向对象的方式实现绘图的。

Matplotlib图元与容器_第1张图片
Primitives
%matplotlib inline
from matplotlib import pyplot as plt
fig = plt.figure()

## add_axes与add_subplot有何区别?
ax1 = fig.add_axes([0, 0, 0.5, 0.5], frameon=False)
ax2 = fig.add_axes([0.6, 0, 0.5, 0.5], frameon=True, facecolor='grey')


ax1.bar([1,2,3],[3,4,5])
ax2.bar([1,2,3],[3,4,5])

ax1.set_xticks([0, 2, 4, 6, 8, 10])
ax1.set_yticks([0, 2, 4, 6])
ax1.set_xlabel('x')
ax1.set_ylabel('y')

xx = ax1.get_xaxis()
xx.majorTicks[1].set_visible(False)

yx = ax1.get_yaxis()
ticks = yx.majorTicks
t = ticks[1]
t.label2On = True
t.tick2On = True
Matplotlib图元与容器_第2张图片
test.png

参考文献

Artist tutorial

你可能感兴趣的:(Matplotlib图元与容器)