如何按照月份升序排列我的X轴?

2024-04-25 09:53:27 发布

您现在位置:Python中文网/ 问答频道 /正文

以日期为索引的对象为时间帧。 Image1 我创建了一个新列,以指示数据帧中每个“骑乘”所在的月份:

import numpy as np
import datetime as dt
from datetime import datetime    
months = df.index.to_series().apply(lambda x:dt.datetime.strftime(x, '%b %Y')).tolist()
df['months'] = months
df1 = df[['distance','months']]

它给出了:

image2

当我试图用seaborn将月份作为x轴绘制到一个线图上时,它按字母顺序排序,从四月到八月,等等

^{pr2}$

image3

我真的不明白它为什么这样做,因为在我使用的数据帧中,月份是按照月份的升序排序的。有没有办法让我的x轴从2018年1月开始到2019年7月结束?在


Tags: 数据对象fromimportnumpydfdatetime排序
1条回答
网友
1楼 · 发布于 2024-04-25 09:53:27

x坐标必须是数字。当您提供一个字符串数组时,Seaborn会自动对其进行排序,并将排序后的数组视为从0开始的整数范围。{{cd2>你想要的是什么

# True or omitted
sns.lineplot(x='month', y='distance', data=df1, sort=True)

Sort = True

^{pr2}$

Sort = False

相关问题 更多 >