代码之家  ›  专栏  ›  技术社区  ›  Chris

在循环中增加plt.subplot()中绘图的h大小-Python[duplicate]

  •  0
  • Chris  · 技术社区  · 7 年前

    我有以下代码:

    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 回复  |  直到 7 年前
        1
  •  2
  •   busybear Danny Boy150    7 年前

    您的身材受到宽度的限制。您可以使用 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轴上的记号数。