关于matplotlib:在循环内增加plt.subplot()中的绘图的h大小 – Python

Increasing the h-size of plots in plt.subplot() inside a loop - Python

本问题已经有最佳答案,请猛点这里访问。

我有这个代码:

1
2
3
4
5
6
7
8
9
for i in ["Dia","DiaSemana","Mes","A?o","Feriado"]:
    plt.subplot(1,2,1)
    sns.boxplot(x=i, y="Y", data=df)

    plt.subplot(1,2,2)
    sns.boxplot(x=i, y="Temp", data=df)

    plt.tight_layout()
    plt.show()

它给了我所有需要的情节。这里是一次循环:

Plots

如您所见,x axis是重叠的,我正试图增加每个图的水平大小,以便获得更好的可视化效果。


你受体型宽度的限制。您可以使用figsize属性使图形更宽。您可以通过明确定义(plt.figure或获取当前数字(plt.gcf来"获取"您的数字)。

但是,我更喜欢使用plt.subplots来定义图形和轴:

1
2
3
4
5
6
7
for i in ["Dia","DiaSemana","Mes","A?o","Feriado"]:
    fig, axes = plt.subplots(ncols=2, figsize=(15, 5))  # set width of figure and define both figure and axes
    sns.boxplot(x=i, y="Y", data=df, ax=axes[0])
    sns.boxplot(x=i, y="Temp", data=df, ax=axes[1])

    plt.tight_layout()
    plt.show()

或者,可以减少X轴上的刻度数。