matplotlib绘图如何处理日期数据如“x月x日”

问题描述

数据文件如下图所示:
在这里插入图片描述
想要绘制横坐标为Date,纵坐标为Height的折线图(其他类型的图也是类似的)。关键的问题在于如何处理这种日期数据,正常绘图,并设置横坐标每隔x天显示刻度。
本文提供一个解决示例代码。

代码实现

import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.dates import MonthLocator# 读取数据
path = 'data.csv'
data = pd.read_csv(path)# 将日期转换成标准日期格式
data['Date'] = pd.to_datetime(data['Date'], format='%m月%d日')
# 将日期转换为字符串格式,保留月份和日期信息
data['Date'] = data['Date'].dt.strftime('%m-%d')plt.rcParams['font.sans-serif'] = ['SimSun']
plt.figure(figsize=(10, 6))
plt.plot(data['Date'], data['Height'], color='skyblue')# 设置每隔 15 天显示刻度
plt.gca().xaxis.set_major_locator(MonthLocator(bymonthday=(1, 15)))# 自定义日期格式化器
def custom_date_format(x, pos):date_str = data['Date'][int(x)]month, day = date_str.split('-')return f"${int(month)}$月${int(day)}$日"plt.gca().xaxis.set_major_formatter(custom_date_format)plt.tight_layout()
plt.show()

示例图

以上代码的运行结果如下图所示:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/542356.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32初识2

复位和时钟控制(RCC:reset clock control) 系统复位 当发生以下任一事件时,产生一个系统复位: 1. NRST 引脚上的低电平 ( 外部复位 ) 2. 窗口看门狗计数终止 (WWDG 复位 ) 3. 独立看门狗计数终止 (IWDG 复位 ) …

服务器遭遇挖矿病毒syst3md及其伪装者rcu-sched:原因、症状与解决方案

01 什么是挖矿病毒 挖矿病毒通常是恶意软件的一种,它会在受感染的系统上无授权地挖掘加密货币。关于"syst3md",是一种特定的挖矿病毒,它通过在受感染的Linux系统中执行一系列复杂操作来达到其目的。这些操作包括使用curl从网络下载…

我的尝试:Codigger + Vim

若您愿意耐心投入,学习 Vim 的过程其实远比想象中轻松。我对 Vim 产生兴趣,主要是源于它对提升生产力的巨大潜力。我尝试了 Neovim、NvChad 以及 Codigger Vim 插件,如今我的工作效率已远超从前。 那么,Vim 究竟是什么呢&#xff…

linux之权限管理和组

一,ACL权限 1.1,什么是acl权限? ACL是Access Control List的缩写,即访问控制列表。可以通过下列的实例来理解ACL的作用: 思考如何实现如下的权限控制: 每个项目成员在有一个自己的项目目录,…

MySQL MHA故障切换

目录 一、案例分析 1.1、案例概述 1.2、案例前置知识点 1)什么是 MHA 2)MHA 的组成 3)MHA 的优势 4)MHA 现状 1.3、案例环境 1)本案例环境 ​编辑 2)案例需求 3)案例实现思路…

Nuxt3 初学,基础配置,页面结构搭建,引入element

1.下载Nuxt框架 Nuxt 中文站 - 直观的Web框架 Nuxt3文档 NuxtNuxt是一个开源框架,它使web开发直观而强大。自信地创建高性能和生产级全栈web应用程序和网站。https://www.nuxt.com.cn/根据官方文档进行配置 2.配置页面 1.主要页面结构 导航栏内容底部 1.在comp…

LeetCode每日一题——两数之和

两数之和OJ链接:1. 两数之和 - 力扣(LeetCode) 题目: 思路: 在读懂题目后很多人觉得这种题目很简单,但是不管怎么写,在VS等其他编译器上能跑成功,但是在LeetCode上就是没办法通过。…

面试常问,ADC,PWM

一 PWM介绍 pwm全名(Pulse Width Modulation):脉冲宽度调制 在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,常应用于电机控速等领域。PWM一定程度上是数字到模拟…

Ansible非标记语言YAML与任务剧本Playbook

前言 上篇介绍了 Ansible 单模块(AD-Hoc)的相关内容Ansible自动化运维Inventory与Ad-Hoc-CSDN博客,Ad-Hoc 命令是一次性的、即时执行的命令,用于在远程主机上执行特定任务,这些命令通常用于快速执行简单的任务。当需要…

专业无网设备如何远程运维?向日葵远程控制能源场景案例解析

清洁能源领域,拥有庞大的上下游产业链,涉及的相关工业设备门类多、技术覆盖全、行业应用广。在这一领域内,相关专业设备的供应商的核心竞争力除了本身产品的技术能力之外,服务也是重要的一环。 某企业作为致力于节能环保方向的气…

vscode创建文件夹跟在后面,怎么解决?

如果你遇到类似问题。 按照以下操作即可。

mybatis实现动态sql和关联映射以及延迟加载策略

一、动态sql的简述 什么是动态sql:在不同条件下拼接不同的sql Mybatis框架的动态sql技术是一种根据特定条件动态拼接SQl语句的功能,他存在的意义是为了解决拼接SQL语句字符串时的痛点问题。比如我们在用淘宝之类的软件在进行商品属性选择的时候,我们会发…