无法单独绘制箱形图

时间:2020-08-13 17:17:55

标签: python seaborn boxplot

我在数据中有很多特征,我想为每个特征绘制箱形图。所以

import pandas as pd 
import seaborn as sns
plt.figure(figsize=(25,20))

for data in train_df.columns:
    plt.subplot(7,4,i+1)
    plt.subplots_adjust(hspace = 0.5, wspace = 0.5)
    ax =sns.boxplot(train_df[data])

我做到了 输出是 enter image description here

所有情节都在一张图像上,我想要类似 enter image description here

(不是偏斜图,而是箱形图) 我需要做些什么改变?

1 个答案:

答案 0 :(得分:1)

在您的代码中,我看不到i的来源,也不清楚ax的分配方式。

也许尝试这样的事情,首先是一个示例数据框:

import pandas as pd
import numpy as np
import seaborn as sns
from matplotlib import pyplot as plt

train_df = pd.concat([pd.Series(np.random.normal(i,1,100)) for i in range(12)],axis=1)

为每个子图设置fig和一个展平的ax

fig,ax = plt.subplots(4,3,figsize =(10,10)) ax = ax.flatten()

最基本的方法是在函数内调用sns.boxplot并分配ax

for i,data in enumerate(train_df.columns):
                        sns.boxplot(train_df[data],ax=ax[i])

enter image description here