Построение нескольких графиков с использованием seaborn - PullRequest
0 голосов
/ 07 мая 2020

У меня есть категориальные переменные в моем наборе данных, большинство из них двоичные 0,1, но некоторые являются многоклассовыми. Я использовал countplot для построения графика распределения.

f, axes = plt.subplots(4,3,figsize=(17,13), sharex=True)
for i, feature in enumerate(cat_var_list):
    sns.countplot(df[feature],ax=axes[i%4, i//4])

cat_var_list имеет 12 переменных.

Однако я обнаружил, что шкала 0,1 и переменные, которые имеют многоклассовые результаты 0,1,2 не отображаются правильно.

Например, график выглядит следующим образом:

enter image description here

Однако для Переменная Intro Election Status, график должен выглядеть следующим образом:

enter image description here

Как мне сделать так, чтобы график правильно отображался в формате многослойной сетки?

1 Ответ

1 голос
/ 08 мая 2020

Я вижу, что ваш код работает должным образом с этими образцами данных:

np.random.seed(1)
df = pd.DataFrame(np.random.choice([0,1], (100,11)),
                  columns=list('abcdefABCDE'))
df['F'] = np.random.choice([0,1,2], 100)

cat_var_list = 'abcdefABCDEF'

f, axes = plt.subplots(4,3,figsize=(17,13), sharex=True)
for f,ax in zip(cat_var_list, axes.ravel()):
    sns.countplot(df[f], ax=ax)
    ax.set_title(f)

Вывод:

enter image description here

...