如何将自变量列表传递给seaborn并获得单独的绘图

2024-04-16 08:07:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图将列名列表传递给seaborn函数,以便生成一系列相同的图,但不同的自变量映射到同一个因变量。现在我似乎把它们都映射到同一个三个子地块。你知道吗

def seaborn_plotter(independent_vs, dependent_v, df):
    plt.figure(figsize=(21,7))
    ax1 = plt.subplot(1,3,1)
    ax2 = plt.subplot(1,3,2)
    ax3 = plt.subplot(1,3,3)
    for i in independent_vs:
        sns.boxplot(x=i, y=dependent_v, data=df, ax=ax1)
        sns.countplot(df[i], ax=ax2)
        sns.scatterplot(x=i, y=dependent_v, data=df, ax=ax3)

Tags: 函数df列表datapltseabornaxvs
1条回答
网友
1楼 · 发布于 2024-04-16 08:07:52

你的问题是在循环之前启动图形和轴。你知道吗

如果要绘制一系列绘图,则需要:

  • 在每个循环迭代中创建一个图形/轴集(这将在每个迭代中创建一个单独的图形)
  • 或者创建一个具有足够轴的图形,以便在循环之前保存所有绘图,并通过轴循环,例如在每次迭代中使用ax[i]

现在我只想把无花果斧头放进线圈里

def seaborn_plotter(independent_vs, dependent_v, df):
    for i in independent_vs:
        plt.figure(figsize=(21,7))
        ax1 = plt.subplot(1,3,1)
        ax2 = plt.subplot(1,3,2)
        ax3 = plt.subplot(1,3,3)
        sns.boxplot(x=i, y=dependent_v, data=df, ax=ax1)
        sns.countplot(df[i], ax=ax2)
        sns.scatterplot(x=i, y=dependent_v, data=df, ax=ax3)

相关问题 更多 >