Создать линейный график Matplotlib с несколькими линиями и легендой - PullRequest
0 голосов
/ 16 февраля 2019

Это мой первый пост.Я пытаюсь построить одну линейную диаграмму с линией для каждого «предмета» в моем фрейме данных.Ось X - это столбец «Номер посещения», а ось Y - это столбец «дБ».Я тоже хочу легенду.Данные выглядят так:

Данные по 4 предметам

Однако я могу заставить их работать, только если мой фрейм данных содержит только один предмет:

Данные для одного субъекта

plt.plot(test_df['Visit Number'], test_df['dB'], 'b-')
plt.show()

График для одного субъекта

Я хочу один график с линией для каждого субъекта.Я также хочу, чтобы каждый предмет появлялся в легенде как ярлык.Благодаря.

1 Ответ

0 голосов
/ 16 февраля 2019

С pandas вы можете перебирать сгруппированные значения, поэтому я предлагаю вам перебрать поднаборы данных и построить каждый с меткой, затем вызвать plt.legend().

Вот код, который я не полностью протестировал, поэтому используйте состорожно, и, возможно, в следующий раз подумайте о том, чтобы дать пригодный образец набора данных, это проще!

for subject, sub_df in testdf.groupby(by='subject'):
    plt.plot(sub_df['Visit Number'], sub_df['dB'], label=subject)
plt.legend()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...