引言
使用Python的matplotlib库绘制子图发现标题发生了重叠。
原来的代码:
plt.rcParams['font.family']=['SimHei']
data=year_gen
for i in range(1,11):
plt.subplot(5,2,i)
type=type_df.index[:][i-1]
setplot_TypeTime(i,data,type)
plt.show()
上网上寻找解决办法。
按照[1]中在plt.show()
前面加上 plt.tight_layout()
。结果发现不行。还是一样
plt.rcParams['font.family']=['SimHei']
data=year_gen
for i in range(1,11):
plt.subplot(5,2,i)
type=type_df.index[:][i-1]
setplot_TypeTime(i,data,type)
plt.tight_layout()
plt.show()
个人觉得可能是画布没有设置好,于是加上一个设置画布大小的命令plt.figure(figsize=(10, 10))
。
这是完整可用的代码:
plt.rcParams['font.family']=['SimHei']
data=year_gen
plt.figure(figsize=(10, 10))
for i in range(1,11):
plt.subplot(5,2,i)
type=type_df.index[:][i-1]
setplot_TypeTime(i,data,type)
plt.tight_layout()
plt.show()
总结
- 在
plt.show()
前面加上plt.tight_layout()
- 加上
plt.figure(figsize=(10, 10))
设置画布大小
相关参考
[1]matplotlib 中子图subplot 绘图时标题重叠解决办法(备忘)