如何使用matplotlib子图垂直拉伸图形



使用以下代码,我尝试使用Matplotlib在一张图片中绘制12个不同的直方图。

for graph in range(1,13):
name = all_results[graph-1]
plt.subplot(4,3,graph, 
title = name)
plt.tight_layout()
current_model = name
plt.hist(all_val_accuracies[current_model],
#range = (0.49, 0.58),
bins = 50)
plt.xlabel('Accuracy')
plt.ylabel('Frequency')
plt.axis([0.48, 0.58, 0, 50])

有了这个代码,所有的直方图都被绘制在一张图像中,就像我所指示的那样

然而,图形本身被压缩到这样一个程度,以至于你再也看不到它们了

我该怎么做才能将这12个直方图绘制在一张图像中,并且每个直方图都可以清晰地看到?

您应该能够使用设置绘图的大小

matplotlib.Figure.set_size_inches

要使用它,您需要保存Figure对象。你可以将其包含在你的代码中,如下所示:

for graph in range(1,13):
name = all_results[graph-1]
fig, axs = plt.subplot(4,3,graph, 
title = name)
plt.tight_layout()
current_model = name
plt.hist(all_val_accuracies[current_model],
#range = (0.49, 0.58),
bins = 50)
fig.set_size_inches(12, 12)
plt.xlabel('Accuracy')
plt.ylabel('Frequency')
plt.axis([0.48, 0.58, 0, 50])

最新更新