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将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
