Matplobilb库数据分析常用图
Matplotlib是一个Python的2D绘图库,通过Matplotlib,开发者可以仅需要几行代码,便可以生成折线图,直方图,条形图,饼状图,散点图等。详情可查看Matplotlib库API文档
1. 绘图元素组成简介
- Figure:图形绘制的画板,相当于一个黑板,所有的图都是绘制在 Figure 上面
- Axes:每个图都是 Axes 对象。一个 Figure 上可以有多个 Axes 对象
- Axis:x 轴、y 轴的对象
- Tick:x 轴和 y 轴上的刻度对象。每一个刻度都是一个 Tick 对象
- TickLabel:每一个刻度上都要显示文字,这个文字的显示就是在 TickLabel 上
- AxisLabel:x 轴和 y 轴的名称的文字显示
- Legend:图例对象
- Title:Axes 图的标题对象
- Line2D:绘制在 Axes 上的线条对象,比如折线图等
- Reactangle:绘制在 Axes 上的矩形对象,比如条形图等
- Marker:标记点,比如绘制散点图上的每个点就是这个对象
- Artist:只要是绘制在 Figure 上的元素(包括 Figure) ,都是 Artist 的子类
2. Figure容器
Figure 容器是最顶层的容器,它几乎包含了这个图的所有对象。通过 add_subplot 和 add_axes 方法可以添加 Axes 对象,这两个方法添加的都是 Axes 及其子类的对象。添加完成后是存储在 figure.axes 中。
plt.figure(num=None,figsize=None,dpi=None,facecolor=None,edgecolor=None,frameon=True,subplotpars=None,tight_layout=None,constrained_layout=None)
(1)num 是图的编号
(2)figsize 设置尺寸,单位是英寸
(3) dpi 是每英寸的像素点
(4) facecolor 是图片背景颜色
(5)edgecolor 是边框颜色
(6)frameon代表是否绘制画板。
(7) subplotpars 设置子图参数
(8)** tight_layout、constrained_layout **设置布局的参数
2.1 添加 Axes 对象
Figure 只是一个黑板,如果想要绘图,需要先添加 Axes 。添加 Axes 可以通过 add_subplot 和 add_axes(其中参数是 left 、bottom、width、height) 来实现
#创建figure对象
fig = plt.figure()
#2行1列第1个
ax1 = fig.add_subplot(211)
#绘图
ax1.plot(np.random.rand(10))
#参数是 left 、bottom、width、height
ax2 = fig.add_axes([0,0,1,0.3])
2.2 操作当前 Axes 对象
可通过 figure.gca 以及 figure.sca 来设置和获取当前的 axes 对象
#设置当前axes对象为ax1
fig.sca(ax1)
#查看当前axes对象
#结果为:AxesSubplot(0.125,0.536818;0.775x0.343182)
print(fig.gca()