首页 > 解决方案 > 无法解释 Seaborn 线图色调输入

问题描述

我正在尝试将我的数据框绘制为线图。数据是 x 和 y 坐标的 2D 移动数据。数据框有一列通过唯一的 ID 标识每个人的数据,一列标识个人的测试组,还有一个显示时间点的附加相关列。

    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='classifier' 来实现。

#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')

但是,这再次引发错误“ValueError:无法解释输入'unique_id'”。所以我不知道如何对我的情节进行分组。

我应该得到这样的东西,但只有两种颜色

标签: pythonseaborn

解决方案


很难确定,因为您没有提供足够的数据让我直接试用,但看起来这就是您要找的东西?

sns.lineplot(data=df, x='Location_Center_X', y='Location_Center_Y', 
             hue='classifier', units="unique_id", estimator=None)

推荐阅读