我在数据中有很多特征,我想为每个特征绘制箱形图。所以
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])
(不是偏斜图,而是箱形图) 我需要做些什么改变?
答案 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])