How do I sort my x-axis by ascending month order?(如何按月份升序对x轴进行排序?)
本文介绍了如何按月份升序对x轴进行排序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
所以我有一个将索引作为DateTime对象的DataFrame。 我已经创建了一个新列来指示DataFrame中的每个"顺风车"位于哪个月:
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']]
这提供了:
当我尝试使用以月份为x轴的海运将其绘制到折线图上时,它会按字母顺序对其进行排序,从4月开始,然后是8月,依此类推。
l = sns.lineplot(x='months',y='distance',data=df1)
plt.xticks(rotation=45)
我真的不明白它为什么要这样做,因为在我使用的数据框中,月份是根据它们的月份按升序排序的。有没有办法让我的x轴从2018年1月开始,到2019年7月结束?
推荐答案
x坐标必须是数字。当您提供字符串数组时,Seborn会自动按字母顺序对其排序。您想要的内容可以通过sort=False
(默认为True
)实现:
# True or omitted
sns.lineplot(x='month', y='distance', data=df1, sort=True)
# Set to False to keep the original order in your DataFrame
sns.lineplot(x='month', y='distance', data=df1, sort=False)
这篇关于如何按月份升序对x轴进行排序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:如何按月份升序对x轴进行排序?


基础教程推荐
猜你喜欢
- 使 Python 脚本在 Windows 上运行而不指定“.py";延期 2022-01-01
- 哪些 Python 包提供独立的事件系统? 2022-01-01
- 合并具有多索引的两个数据帧 2022-01-01
- 使用 Google App Engine (Python) 将文件上传到 Google Cloud Storage 2022-01-01
- 将 YAML 文件转换为 python dict 2022-01-01
- 如何在Python中绘制多元函数? 2022-01-01
- Python 的 List 是如何实现的? 2022-01-01
- 症状类型错误:无法确定关系的真值 2022-01-01
- 使用Python匹配Stata加权xtil命令的确定方法? 2022-01-01
- 如何在 Python 中检测文件是否为二进制(非文本)文 2022-01-01