建立画布和坐标系
1> 建立画布
① 参数设置
from matplotlib import pyplot as plt
from matplotlib import font_manager
# 让图表直接在 jupyter notebook 上显示出来
%matplotlib inline
# 解决中文乱码问题
plt.rcParams['axes.unicode_minus']=False
plt.rcParams['font.sans-serif'] = 'SimHei'
my_font = font_manager.FontProperties(fname = "/usr/share/fonts/msyh.ttc")
# 解决负号无法正常显示的问题
plt.rcParams['axes.unicode_minus'] = False
# 以矢量图显示图表,使得图表更加清晰
%config InlineBackend.figure_format = 'svg'
② 建立画布
# 设置图形大小
plt.figure(figsize=(20,10),dpi = 80)
2> 建立坐标系
① 用 add_subpolt函数建立坐标系
用 add_subplot 函数建立坐标系首先现有画布,再在画布上绘制坐标系
fig = plt.figure()
ax1 = fig.add_subplot(221)
ax2 = fig.add_subplot(222)
ax3 = fig.add_subplot(223)
ax4 = fig.add_subplot(224)

② 用plt.subplot2grid建立坐标系
用plt.subplot2grid建立坐标系时不需要先建立画布,只需要导入 plt 库即可
# 将画布分为两行两列,在(0,0)位置画折线图,在(1,1)位置画柱形图
x = np.arange(6)
y = np.arange(6)
plt.subplot2grid((2,2),(0,0))
plt.plot(x,y)
plt.subplot2grid((2,2),(1,1))
plt.bar(x,y)

③ 用plt.subplot函数建立坐标系
# 将整个区域划分为两行两列,在第1个坐标系上画折线图,第4个图上画柱形图
x = np.arange(6)
y = np.arange(6)
plt.subplot(2,2,1)
plt.plot(x,y)
plt.subplot(2,2,4)
plt.bar(x,y)

④ 用 plt.subplots 函数建立坐标系
fig,axes = plt.subplots(2,2)
x = np.arange(6)
y = np.arange(6)
# 在[0,0]坐标系绘制折线图
axes[0,0].plot(x,y)
# 在[1,1]坐标系中绘制柱形图
axes[1,0].bar(x,y)

几种创建坐标系的区别
第一种建立坐标系的add_subplot方法属于对象式编程,所有的操作就是针对某个对象进行的;
后面三种方法属于函数式编程,都是直接调用 plt 库里面的某个函数或方法达到创建坐标系的目的.