使用 figure , axes = plt.subplots(nrows,ncols,figsize,dpi)方法创建画布
nrows 表示行数
ncols 表示列数
figsize 表示画布大小
dpi 表示清晰度
绘制每幅图时使用axes[][].set_XXX()方法进行绘制
具体例子如下:
import matplotlib.pyplot as plt
import random
#准备数据X,Y
x = range(60)
y_XiAn = [random.uniform(15,18) for i in x]
y_WuHan = [random.uniform(20,25) for i in x]
#创建画布
figure , axes = plt.subplots(nrows=1,ncols=2,figsize = (20,8),dpi=80)
#画图
axes[0].plot(x,y_XiAn,color="r",linestyle="--",label="西安")
axes[1].plot(x,y_WuHan,color="b",label="武汉")
#解决中文显示问题
plt.rcParams['font.sans-serif'] = ['KaiTi'] # 指定默认字体
plt.rcParams.update({"font.size":10})#此处必须添加此句代码方可改变标题字体大小
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
#显示图例
axes[0].legend()
axes[1].legend()
#添加x,y刻度说明
x_label = ["11点{}分".format(i) for i in x]
axes[0].set_xticks(x[::5])
axes[0].set_xticklabels(x_label[::5])
axes[0].set_yticks(range(40)[::5])
axes[1].set_xticks(x[::5])
axes[1].set_xticklabels(x_label[::5])
axes[1].set_yticks(range(40)[::5])
#添加网格显示
axes[0].grid(True,linestyle="--",alpha=0.5)
axes[1].grid(True,linestyle="--",alpha=0.5)
#更改X,Y标签
axes[0].set_xlabel("时间")
axes[0].set_ylabel("温度")
axes[0].set_title("西安11点到12点温度变化折线图")
axes[1].set_xlabel("时间")
axes[1].set_ylabel("温度")
axes[1].set_title("武汉11点到12点温度变化折线图")
plt.show()