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

时间:2018-07-16 12:10:35

标签: python matplotlib subplot

使用以下代码,我尝试使用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])

使用此代码,所有直方图都按照我的指示绘制在一张图像中。

However, the graphs itself are squeezed to such an extend that you cant see them anymore

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

1 个答案:

答案 0 :(得分:0)

您应该可以使用

设置图的大小
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])