Как обозначить категориальную переменную в барплоте? - PullRequest
0 голосов
/ 05 апреля 2019

Я разработал диаграмму для некоторых данных, используя python. Как вы разрабатываете метки для категориальных значений?

Данные представляют 0 = "Женский" и 1 = "Мужской".Разработанный барплот показывает только 0 и 1, но я хочу представлять как женщин и мужчин.

Используя следующий код, я получил следующий вывод:

sns.barplot(x=df.cp, y=df.chol, hue=df.sex, palette='spring')
plt.xlabel("Chest Pain Type")
plt.ylabel("Serum Cholesterol")
plt.show()

Output

Я пытался добавить этот фрагмент кода к приведенному выше, но вывод не такожидается и цветовая дифференциация отсутствует:

plt.legend(title="sex", loc="upper right", labels=["Female", "Male"])

Output

Спасибо

1 Ответ

1 голос
/ 05 апреля 2019

Идея seaborn главным образом заключается в том, что вы можете напрямую использовать столбцы данных. Таким образом, самое простое решение для получения правильных меток состоит в том, чтобы эти метки были в данных, которые вы предоставляете в фрейм данных. Например. имея словарь, который сопоставляет числа с именами

{1 : "male", 0 : "female"}

Вы можете заменить данные в соответствующем столбце перед построением графика:

sns.barplot(x="cp", y="chol", hue="sex", palette='spring', 
            data=df.replace({"sex" : {1 : "male", 0 : "female"}}))
...