在循环内增加plt.subplot()中图的h大小-Python

时间:2018-12-14 05:35:17

标签: python matplotlib seaborn

我有此代码:

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重叠了,我试图增加每个图的水平尺寸,以便获得更好的可视化效果。

1 个答案:

答案 0 :(得分:2)

您受到图形宽度的限制。您可以使用figsize属性使图形更宽。您可以通过明确定义(plt.figure)或获取当前图形(plt.gcf)来“抓取”图形。

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

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轴上的刻度数。