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轴进行排序?
基础教程推荐
猜你喜欢
- 在 Django Admin 中使用内联 OneToOneField 2022-01-01
- kivy 应用程序中的一个简单网页作为小部件 2022-01-01
- Kivy 使用 opencv.调整图像大小 2022-01-01
- 比较两个文本文件以找出差异并将它们输出到新的文本文件 2022-01-01
- 在 Python 中将货币解析为数字 2022-01-01
- Python,确定字符串是否应转换为 Int 或 Float 2022-01-01
- Python 中是否有任何支持将长字符串转储为块文字或折叠块的 yaml 库? 2022-01-01
- 对多索引数据帧的列进行排序 2022-01-01
- 究竟什么是“容器"?在蟒蛇?(以及所有的 python 容器类型是什么?) 2022-01-01
- matplotlib 设置 yaxis 标签大小 2022-01-01
