我得到了一个 Dataframe ,如下所示:
DF:
Time of Day Season value
Day Shoulder 30.581606
Day Summer 25.865560
Day Winter 42.644530
Evening Shoulder 39.954759
Evening Summer 32.053458
Evening Winter 53.678297
Morning Shoulder 32.171245
Morning Summer 25.070815
Morning Winter 42.876667
Night Shoulder 22.082042
Night Summer 17.510290
Night Winter 33.262356
我正在使用seaborn绘制线图中的值,使用以下代码:
g = sns.lineplot(x='Time of Day',y='value',data=df,hue='Season')
它会生成以下图形:
图表的问题是x轴的顺序不是所需的顺序。我想将a轴值的顺序更改为['Morning','Day','Evening',' Night ']。我尝试使用以下命令进行更改:
g.set_xticklabels(['Morning','Day','Evening','Night'])
但是这个命令只改变了x轴的标签,而不是数据点的顺序。有人能帮我解决这个问题吗?
2条答案
按热度按时间bxgwgixi1#
pandas.Categorical
设置'Time of Day'
在df
中的分类顺序。*在
python 3.11
、pandas 1.5.3
、matplotlib 3.7.1
、seaborn 0.12.2
中进行测试neekobn82#
如果您不想将其更改为分类列并进行有序绘图?!