我有一个数据框,每年要检查约120个功能。我正在绘制每个特征,x =年,y =特征值。这些图成功绘制后,由于完全压缩,因此图表难以辨认。
我尝试使用plt.tight_layout()并使用plt.rcParams ['figure.figsize']调整图形大小,但遗憾的是无济于事
for i in range(len(roll_df.columns)):
plt.subplot(len(roll_df.columns), 1, i+1)
name = roll_df.columns[i]
plt.plot(roll_df[name])
plt.title(name, y=0)
plt.yticks([])
plt.xticks([])
plt.tight_layout()
plt.show()
循环运行,但所有图都在y轴上被压缩,以致变得难以辨认:
答案 0 :(得分:1)
Matplotlib不会自动调整图形的大小。因此,如果在彼此下方添加更多子图,它将划分可用空间而不是扩展图形。这就是为什么您的y轴是如此之窄。
您可以尝试预先定义图形尺寸,或根据您拥有多少个子图来确定图形尺寸:
n_plots = roll_df.shape[1]
fig, axes = plt.subplots(n_plots, 1, figsize=(8, 4 * n_plots), tight_layout=True)
# Then your usual part, but plot on the created axes
for i in range(n_plots):
name = roll_df.columns[i]
axes[i].plot(roll_df[name])
axes[i].title(name, y=0)
axes[i].yticks([])
axes[i].xticks([])
plt.show()