Matplotlib - легенда не показывает имена элементов - PullRequest
0 голосов
/ 07 августа 2020

У меня проблемы с тем, чтобы в легенде отображались имена элементов: мужской и женский. Мои данные содержат 3 столбца: пол, рост и вес. Я хочу построить диаграмму рассеяния, показывающую соотношение между весом и ростом, а также показать, представляет ли точка данных женщину или мужчину. Все работает хорошо, но легенда. Отображается только пустой квадрат (щелкните ссылку, чтобы увидеть график ). Пожалуйста, дайте мне знать, как я могу это исправить.

import pandas as pd
import matplotlib.pyplot as plt

filepath = "C:\\height_weight.csv
df = pd.read_csv(filepath)

m = df["sex"] == 1
plt.scatter(df2.loc[m, "height"], df2.loc[m, "weight"], c= "#16c6f7", s=1)
plt.scatter(df2.loc[~m, "height"], df2.loc[~m, "weight"], c= "#ff8b87", s=1)
plt.xlabel("Height")
plt.ylabel("Weight")
plt.legend(loc=2)

1 Ответ

0 голосов
/ 07 августа 2020

Самый простой способ - добавить label к вашим командам разброса:

plt.scatter(..., label='male')
...