
终于到了python数据分析三剑客的最后一课:Matplotlib,一个专门用于绘制图形的库,话不多说,直接进入主题。
内容目录
- 图形的构成
- plot样式风格
- plot保存图像
- 各种图形绘制
1 图形的构成
1.1 Figure
在绘制图形之前,我们需要一个Figure对象,可以理解成我们需要一张画板才能开始绘图。
import matplotlib.pyplot as plt # 约定俗成的写法
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei'] # 解决中文乱码问题
plt.rcParams['axes.unicode_minus'] = False # 解决负号不显示的问题
fig = plt.figure()
plt.figure的参数:(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True, FigureClass=<class 'matplotlib.figure.Figure'>, clear=False, **kwargs)
- num: 图像编号或名称,数字为编号 ,字符串为名称
- figsize: 指定figure的宽和高,单位为英寸
- dpi: 参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80, 1英寸等于2.5cm,A4纸是 21*30cm的纸张
- facecolor: 背景颜色
- edgecolor: 边框颜色
- frameon: 是否显示边框
fig = plt.figure(num="hakg",figsize=(10,5),facecolor='g')
ax1 = fig.add_subplot(111)
ax1.set(xlabel="x",ylabel='y')
plt.plot(x,y)

这里只是为了展示figure的参数,我知道很丑
1.2 subplot
使用subplot可以在一个界面中显示多张图像。
参数:subplot(nrows,ncols,num,sharex,sharey,subplot_kw,**fig_kw)
- nrows: subplot的行数
- ncols: subplot的列数,行X列就是被分成多少个图像区域
- num: 目前该图像位于第几个位置
- sharex:所有subplot应该使用相同的X轴刻度(调节xlim将会影响所有的subplot)
- sharey:所有subplot应该使用相同的Y轴刻度(调节ylim将会影响所有的subplot)
- subplot_kw:用于创建各subplot的关键字字典
- **fig_kw:创建figure时的其他关键字
plt.subplot(ijn) i代表划分为几行j为几列,n是指目前在第几个子区域内,这里也可以使用fig.subplot(ijn)
fig = plt.figure()
ax1 = fig.add_subplot(221) # 划分为2行2列四个区域,这是第一个区域,以下以此类推
ax1.set(title="标题1",ylabel='y',xlabel='x')
ax2 = fig.add_subplot(222)
ax2.set(title="标题2",ylabel='y',xlabel='x')
ax3 = fig.add_subplot(223)
ax3.set(title="标题3",ylabel='y',xlabel='x')
ax4 = fig.add_subplot(224)
ax4.set(title="标题4",ylabel='y',xlabel='x')
plt.show()

数据区域的划分顺序为:先行后列

1.3 Axes 轴
<