【发布时间】:2020-02-04 07:42:28
【问题描述】:
我有以下数据框:
df1_Relax_Pulse_Melted.head()
Task Pulse Time Pulse Measure
0 Language PRE_RELAX_PULSE 90.0
1 Language PRE_RELAX_PULSE 94.0
2 Language PRE_RELAX_PULSE 52.0
3 Language PRE_RELAX_PULSE 70.0
4 Language PRE_RELAX_PULSE 84.0
当我尝试绘制此数据的条形图时,我得到以下信息:
ax = sns.barplot(x="Pulse Time", y="Pulse Measure", hue="Task", data=df1_Relax_Pulse_Melted)
但是,当我尝试使用折线图时,我得到以下信息:
ax = sns.lineplot(x="Pulse Time", y="Pulse Measure", hue="Task", data=df1_Relax_Pulse_Melted)
从图中可以看出,x 轴标签的顺序与条形图的顺序不同。是否可以更改线图中 x 轴的顺序?我尝试在 sns.lineplot 中使用“order”函数,如下所示:
ax = sns.lineplot(x="Pulse Time", y="Pulse Measure", hue="Task", data=df1_Relax_Pulse_Melted, order='PRE_RELAX_PULSE','30S_RELAX_PULSE','POST_RELAX_PULSE')
但是,这会产生错误。
``AttributeError: 'Line2D' 对象没有属性'order'
【问题讨论】:
-
您是否只需要在您指定的顺序周围加上括号来使其成为列表?
-
当我用括号尝试这个时:ax = sns.lineplot(x="Pulse Time", y="Pulse Measure", hue="Task", data=df1_Relax_Pulse_Melted, order=['PRE_RELAX_PULSE ','30S_RELAX_PULSE','POST_RELAX_PULSE'])。它仍然给我以下错误:'Line2D' object has no property 'order'
-
尝试将
sort=False添加到您的线图中 -
这能回答你的问题吗? How to change the plot order of the categorical x-axis(这是对类似问题的稍后回答,但它是一个更笼统的回答。)
标签: python python-3.x pandas seaborn