Ввод оттенка линии Seaborn не может быть интерпретирован - PullRequest
0 голосов
/ 25 июня 2019

Я пытаюсь построить свой информационный фрейм как линейный график. Данные представляют собой данные 2D перемещения по координатам x и y. Кадр данных имеет столбец, который идентифицирует данные каждого человека с помощью уникального идентификатора, и столбец, который идентифицирует группу тестирования человека, и дополнительный соответствующий столбец, который показывает временные точки.

    index  Location_Center_Y  unique_id Location_Center_X    classifier
0       0            872.044  B21                     0.000      ctrl
1       1            868.727  B21                    -3.317      ctrl
2       2            864.918  B21                    -7.126      ctrl
3       3            866.462  B21                    -5.582      ctrl

Я хочу отобразить данные каждого человека на линейном графике и хочу, чтобы линии имели разные цвета в зависимости от группы тестов. Получая каждого человека как отдельную дорожку, я добился, нанося данные каждого человека за один раз.

Я попытался использовать входные единицы = 'unique_id', но, к сожалению, это работает только для seaborn.scatterplot. При использовании с seaborn.lineplot возникает ошибка «ValueError: Не удалось интерпретировать ввод« unique_id »» Но что угодно, цикл работает. Однако я хочу, чтобы он раскрашивался разными группами (столбец классификатора). Это должно быть выполнимо, используя входной аргумент hue = 'классификатор'.

#looping through the individuals
for n in data.cells:
    ix=data.tracks[data.tracks['unique_id']==n]
    ax=sns.lineplot(ix['Location_Center_X_Zeroed'],
    ix['Location_Center_Y_Zeroed'], hue='classifier')

Однако, снова это вызывает ошибку Msgstr "ValueError: Не удалось интерпретировать ввод 'unique_id'". Поэтому я не знаю, как сгруппировать свой сюжет.

Я должен получить что-то вроде этого, но только с 2 цветами

1 Ответ

0 голосов
/ 25 июня 2019

Трудно быть уверенным, так как вы не предоставили мне достаточно данных, чтобы я мог их опробовать напрямую, но, похоже, это то, что вы ищете?

sns.lineplot(data=df, x='Location_Center_X', y='Location_Center_Y', 
             hue='classifier', units="unique_id", estimator=None)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...