关于matplotlib的subplot用法记录

这段代码使用Python的matplotlib库创建了一个数据可视化图表,对比了LSTM,XGB,SIG,MEN,CNN模型在预测功率变化上的表现。图表分为两行三列,显示了不同时间/h的功率/MW数值。每个子图都限制了y轴在0到160或140或150的范围内,x轴范围从0到100小时,并调整了坐标轴刻度和标签的大小。
摘要由CSDN通过智能技术生成

 只看代码不说话:

plt.figure(figsize=(32,24),dpi=200) # 划定整个画布大小,必须放在plt.subplot()前,否则出图异常

plt.subplot(2,1,1) # 指定画图位置:两行一列第一个位置
plt.plot(dat2['x'],dat2['LSTM']) # 画曲线
plt.plot(dat2['x'],dat2['XGB']) # 画曲线
plt.legend(['LSTM','XGB'],frameon=False,prop = {'size':28},loc=1) # 图例
plt.ylim(0,160) # y轴范围
plt.xlim(0,100) # x轴范围
plt.xticks(size=32) # x轴刻度大小
plt.yticks(size=32) # y轴刻度大小
plt.xlabel(xlabel='时间/h',loc='right',size=32)  # x轴标签、位置、及大小
plt.ylabel(ylabel='功率/MW',loc='center',size=32)  # y轴标签、位置、及大小

plt.subplot(2,3,4) # 指定画图位置:两行三列第一个位置
plt.plot(dat2_1['x'],dat2_1['SIG'])
plt.plot(dat2_1['x'],dat2_1['MEN'])
plt.legend(['SIG','MEN'],prop = {'size':20},frameon=False,loc=1 )
plt.ylim(0,140)
plt.xlim(0,100)
plt.xticks(size=24)
plt.yticks(size=24)
plt.xlabel(xlabel='时间/h',loc='right',size=24)
plt.ylabel(ylabel='功率/MW',loc='center',size=24)

plt.subplot(2,3,5)
plt.plot(dat2_2['x'],dat2_2['CNN'])
plt.plot(dat2_2['x'],dat2_2['LSTM'])
plt.legend(['CNN','LSTM'],prop = {'size':20},frameon=False,loc=1)
plt.ylim(0,150)
plt.xlim(0,100)
plt.xticks(size=24)
plt.yticks(size=24)
plt.xlabel(xlabel='时间/h',loc='right',size=24)
plt.ylabel(ylabel='功率/MW',loc='center',size=24)

plt.subplot(2,3,6)
plt.plot(dat2_3['x'],dat2_3['CNN'])
plt.plot(dat2_3['x'],dat2_3['MEN'])
plt.legend(['CNN','MEN'],prop = {'size':20},frameon=False,loc=1)
plt.ylim(0,160)
plt.xlim(0,100)
plt.xticks(size=24)
plt.yticks(size=24)
plt.xlabel(xlabel='时间/h',loc='right',size=24)
plt.ylabel(ylabel='功率/MW',loc='center',size=24)
# plt.gca().xaxis.set_major_locator(ticker.MultipleLocator(8))

plt.show()

效果:

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值