Python散点图设计 - 根据另一列值为x轴选择变量的特定值
Posted
技术标签:
【中文标题】Python散点图设计 - 根据另一列值为x轴选择变量的特定值【英文标题】:Python scatterplot design - select specific values of a variable for the x axis based on another columns values 【发布时间】:2018-08-08 14:00:59 【问题描述】:我对 python 比较陌生,目前正在尝试使用 pandas 和 seaborn 根据一些数据生成散点图。
我使用的数据('ErrorMedianScatter')如下(抱歉链接,我还没有获得嵌入图像的权限!):
Image of data
每个参与者都有两个感兴趣的数据点。 MissingLimb = 0 或 1 时的均值
我想为参与者创建一个散点图,其中 x 轴代表他们在 'MissingLimb' = 0 时的'mean' 值,而 y 轴代表他们在 'MissingLimb' = 1 时的'mean' 值。
到目前为止,我正在使用当前代码来创建散点图:
sns.lmplot(("mean",
"mean",
data=ErrorMedianScatter,
fit_reg=False,
hue="participant")
这会生成一个功能完善但非常无趣的散点图。我坚持的是创建一个 x/y 轴变量,允许我根据“MissingLimb”列的值指定我对参与者的平均值感兴趣。
非常感谢!
【问题讨论】:
【参考方案1】:很可能有多种方法可以解决您的问题。我要采取的方法是首先转换您的数据集,使每个参与者都有一行(观察),并且(对于每一行)有一个列报告MissingLimb
为 0 的平均值另一列报告MissingLimb
为 1 的平均值。
您可以使用以下代码完成此数据转换:
df = pd.pivot_table(ErrorMedianScatter,
values='mean',
index='participant',
columns='MissingLimb')
df.columns = ['MissingLimb 0', 'MissingLimb 1']
然后您可以使用这个(转换后的)数据框来创建散点图:
sns.lmplot(data=df, x='MissingLimb 0', y='MissingLimb 1')
请注意,除了指定要绘制的数据(使用data
参数)之外,我还指定了要在 x 轴和 y 轴上绘制的数据(分别使用 x
和 y
参数)。您可以向sns.lmplot
调用添加其他参数,并根据您的规范自定义绘图。
【讨论】:
以上是关于Python散点图设计 - 根据另一列值为x轴选择变量的特定值的主要内容,如果未能解决你的问题,请参考以下文章
excel散点图 y轴对应有3组数据 画图的时候只弄出来一组 怎么加另2 组啊