Matplotlib 格式化 X 轴的日期时间,显示 1970 年 1 月 1 日或不显示问题

Matplotlib 格式化 X 轴的日期时间,显示 1970 年 1 月 1 日或不显示问题

遇到的问题

使用python画图时,x轴显示日期时间,并对日期时间进行格式化,

ax[2].xaxis.set_major_formatter(mdate.DateFormatter('%Y-%m-%d\n%H:%M:%S'))#设置时间标签显示格式

此时显示1970年或不显示日期时间。
显示1970年
显示1970年
不显示日期时间
不显示日期时间
期待的效果:年-月-日\n时:分:秒
在这里插入图片描述

解决办法

x_time = df["时间"]
x_time = [datetime.strptime(d, '%Y-%m-%d %H:%M:%S') for d in x_time]
x_time = [d.strftime('%Y-%m-%d \n %H:%M:%S') for d in x_time]

可以跳过出问题的x轴标准化过程。
数据经历了从数据库保存excel,再从excel读这些过程,数据的格式从object转化成datetime.datetime格式,再转化成datetime.strftime格式。

参考资料

[1].https://segmentfault.com/a/1190000006158803

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Python中,要将时间序列数据可视化并将x显示时间刻度,你可以使用pandas和matplotlib库。以下是一种方法: 首先,你需要确保你的时间列已经被解析为datetime格式。你可以使用pandas的to_datetime函数将日期列转换为datetime格式。例如,你可以使用以下代码读取CSV文件并解析日期列: ```python import pandas as pd train = pd.read_csv('demand-forecasting-kernels-only/train.csv', date_parser='date') train\['date'\] = pd.to_datetime(train\['date'\], format='%Y/%m/%d') ``` 接下来,你可以使用groupby函数对日期和店铺进行分组,并计算销售总额。然后,你可以使用sns.lineplot函数绘制线图,其中x日期,y为销售额,hue参数可以用于区分不同的店铺。以下是示例代码: ```python import seaborn as sns sum_sale = train.groupby(\['date', 'store'\])\['sales'\].sum().reset_index() sns.lineplot(data=sum_sale, x='date', y='sales', hue='store') ``` 这样,你就可以将时间序列数据可视化,并且x显示时间刻度。希望这可以帮助到你!\[1\]\[2\] #### 引用[.reference_title] - *1* *2* [python sns 时间序列画图x刻度全黑](https://blog.csdn.net/weixin_43848469/article/details/112434831)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [python从csv读取数据用matplotlib绘制时间序列图,x时间间隔一个显示](https://blog.csdn.net/weixin_39883129/article/details/111452475)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值