【python】pyplot绘制横轴为时间的图

2023-05-16

1. 导入环境

import numpy as np
import matplotlib.pyplot as plt

from IPython import display
from datetime import datetime
from datetime import date

2. 绘图方法


def myplot(x, y, label=None, xlimit=None, size=(9, 3),fileName=None):
    display.set_matplotlib_formats('svg')
    if len(x) == len(y):
        plt.figure(figsize=size)
        if xlimit and isinstance(xlimit, tuple):
            plt.xlim(xlimit)
        plt.plot(x, y, label=label)
        if label and isinstance(label, str):
            plt.legend()
        if fileName:
            plt.savefig(fileName)
        plt.show()
    else:
        raise ValueError("x 和 y 的长度不一致!")

3. 绘图

原始横坐标数组是一个字符串型的,无法直接用于plot(x, y)中的x


time[0:10]
array([['2019-01-01 00:14:00'],
       ['2019-01-01 00:29:00'],
       ['2019-01-01 00:44:00'],
       ['2019-01-01 00:59:00'],
       ['2019-01-01 01:14:00'],
       ['2019-01-01 01:29:00'],
       ['2019-01-01 01:44:00'],
       ['2019-01-01 01:59:00'],
       ['2019-01-01 02:14:00'],
       ['2019-01-01 02:29:00']], dtype='<U19')

将字符串的时间转换成date对象

x_time= [datetime.strptime(d, '%Y-%m-%d %H:%M:%S') for d in time]  

绘图

myplot(x_time, y_num, label='car_num', 
       xlimit=(date(2019, 1, 1), date(2019, 1, 22) ),
       size=(12, 3),
       fileName='my_dataset-car-num.svg')

在这里插入图片描述

4.自定义x轴日期显示格式

如果想自定义坐标轴显示格式,可以更改一下绘图方法,通过DateFormatter来实现。

from matplotlib.dates import DateFormatter

def myplot(x, y, label=None, xlimit=None, size=(9, 3),fileName=None):
    display.set_matplotlib_formats('svg')
    if len(x) == len(y):
        plt.figure(figsize=size)
        if xlimit and isinstance(xlimit, tuple):
            plt.xlim(xlimit)
        plt.plot(x, y, label=label)
        if label and isinstance(label, str):
            plt.legend()
        if fileName:
            plt.savefig(fileName)
        # ======= 以下是新增代码
        ax = plt.gca()
        formatter = DateFormatter('%H:%M')
        ax.xaxis.set_major_formatter(formatter) # 设置时间显示格式   
        # ==============
        plt.show()
    else:
        raise ValueError("x 和 y 的长度不一致!")

效果如下:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【python】pyplot绘制横轴为时间的图 的相关文章

  • Notepad++查找和替换空行/空格/换行

    r n表示换行 xff0c 其中 r表示回车 s 空格 转自 xff1a http www 6san com 833
  • Oracle获取当前年份/月份

    select extract year from sysdate from dual select extract month from sysdate from dual
  • python 打包文件夹为zip

    import shutil 函数 shutil make archive zipfile path 39 zip 39 Date file 注释 zipfile path 61 39 E YQ HLW 39 打包后保存的文件路径及名称 39
  • C语言枚举类型(C语言enum用法)详解

    在实际编程中 xff0c 有些数据的取值往往是有限的 xff0c 只能是非常少量的整数 xff0c 并且最好为每个值都取一个名字 xff0c 以方便在后续代码中使用 xff0c 比如一个星期只有七天 xff0c 一年只有十二个月 xff0c
  • oracle 查询数据库中所有表名

    SELECT FROM all tables WHERE OWNER 61 39 实例名称 39 ORDER BY table name
  • 帆软填报通过JS清空数据库表

    var a 61 FR remoteEvaluate 34 SQL 39 db 39 39 truncate TABLE tableName 39 1 34 if a 61 61 0 FR Msg toast 39 表清空成功 39 els
  • Cmake常用指令

    1 SET SET lt variable gt lt value gt CACHE lt type gt lt docstring gt FORCE 将缓存条目variable设置为值 lt value gt xff0c 除非用户进行设置
  • sublimeText3汉化安装教程 附激活码注册码版

    sublimeText3中文版安装教程 sublimeText3 很不错 前面几天下了vscore学习Node js 感觉有点懵 今天下载sublimeText3 遇到的一些小问题 在这里说说 百度云 https pan baidu com
  • Java“完数”,代码详解,

    一个数的输出恰好等于它的因子之和 xff0c 这个数就称为 完数 例如 xff1a 6 61 1 43 2 43 3 编程 xff0c 找出1000以内的所有完数 因子 xff1a 出去这个数本身的其他约数 代码 xff1a xff08 亲
  • 记一次OpenCv打开摄像头失败问题的处理

    最近做一个项目要用到opencv调用摄像头 xff0c 遇到一个问题让折腾我一晚上才搞定 xff0c 为避免有人遇到和我同样的问题 xff0c 在此做个记录 问题描述 xff1a 使用VideoCapture打开摄像头时 xff0c 摄像头
  • maven项目配置国内源

    maven项目打包遇到问题 xff0c 如何处理 xff1f maven项目默认使用国外源 xff0c 打包速度过慢 xff0c 包下载不了 xff1b 将maven项目设置为国内源可解决问题 xff1a 在pom xml中设置 xff0c
  • 解决docker拉取运行tomcat报404

    1 可能是防火墙没关关闭防火墙 一般不是这个原因 2 最主要的原因就是新版tomcat的webapps是空的 webapps的东西放在了webapp dist中 所以我们只需要将空的webapps删除 xff0c 再将webapps dis
  • Cause: unable to find valid certification path to requested target

    Cause unable to find valid certification path to requested target 安装andriod stuiod3 5时一直出现这这个错误 xff0c 用了网上所有的方法都解决不了 从2月
  • 一、Mysql主从复制(一主多从)搭建

    介绍 在实际生产中 xff0c 数据的重要性不言而喻如果我们的数据库只有一台服务器 xff0c 那么很容易产生单点故障的问题 xff0c 比如这台服务器访问压力过大而没有响应或者奔溃 xff0c 那么服务就不可用了 xff0c 再比如这台服
  • 【M365运维】扩充OneDrive存储空间

    问题 E3 E5等订阅许可下 xff0c 默认的OneDrive存储空间为 1TB xff0c 满了之后该如何扩充 xff1f 解决 1 运行Powershell 2 链接到Sharepoint Online Connect SPOSeri
  • 2023年《计算机工程》最新投稿经验

    1 期刊介绍 xff1a 计算机工程 xff0c 北大核心 CSCD扩展版 xff0c 月刊 xff0c 审稿速度快 xff08 普通外审45天左右 xff0c 加急外审20天左右 xff0c 交审稿费的时候备注即可 xff09 xff0c
  • 201809-3 元素选择器 ccf

    建议将标签和属性分开储存 span class token macro property span class token directive keyword include span span class token string lt
  • 阿里云服务器ecs-user登录名注意事项

    阿里云服务器登录名提供root或ecs user可以选择 xff0c 如果选择root作为登录名 xff0c 一旦云服务器被入侵root权限比较大 xff0c 风险也比较大 xff0c 所以阿里云另外提供了ecs user登录名 xff0c
  • 几种基本汇编指令详解

    几种基本汇编指令详解 常见寄存器 寄存器16位32位64位累加寄存器AXEAXRAX基址寄存器BXEBXRBX计数寄存器CXECXRCX数据寄存器DXEDXRDX堆栈基指针BPEBPRBP变址寄存器SIESIRSI堆栈顶指针SPESPRSP
  • c++ 的string的格式化方法

    1 string strResult str double a 61 35 000 b 61 14 967 std ostringstream ostr ostr lt lt 34 a 43 b 61 34 lt lt a lt lt 34

随机推荐

  • mac硬盘空间不足

    本文参考自 xff1a mac空间不足 自我的进化 http www shanxing top p 61 108 先说结果 xff1a 是由于时间机器 xff08 time machine xff09 的自动备份造成的 在Mac的 关于本机
  • Airsim仿真

    Airsim设计的目的 xff1a 1 现实世界开发测试自动驾驶车辆算法费时费力 2 迎合AI的发展 xff0c 需要在各种条件下和环境下收集大量带注释训练数据 模块化设计 xff0c 强调可扩展性 提供很多API xff0c 核心组件包括
  • Linux 下安装Git

    一 系统 xff1a CentOS release 6 5 Final 查看是否安装过Git xff0c git version 二 下载最新的git xff1a https github com git git 解压缩 xff1a unz
  • 0404---通过SSH连接远程服务器运行图形界面程序问题

    远程运行 linux 服务器图形界面程序问题 通常部署在数据中心机房中的服务器是没有图形桌面的 xff0c 对服务器的日常运维也往往通过远程客户端命令窗口来进行 xff0c 但有时候往往需要在服务器上远程安装或运行图形窗口类软件 xff0c
  • Debian 下 Web Server 和浏览器的利用

    今天有人参观我的计算机 xff0c 呵呵 xff0c 被我的浏览器功能吓住了 xff0c 呵呵 xff0c 这年月 xff0c 浏览 器很管用啊 xff0c 不知道大家怎么用的 xff0c 谈谈我的吧 xff1a 1 wiki mediaw
  • Ubuntu查看linux系统版本号

    查看ubuntu版本 输入命令 cat proc version 显示如下 Linux version 5 0 0 13 generic buildd 64 lcy01 amd64 020 linux内核版本号 gcc version 8
  • Mac识别time machine出错或者打开备份盘里空白

    最近恢复Mac xff0c 从苹果售后拿来的给我预装的是mojova xff0c 10 x xff0c 我备份时候的系统是12 x所以差距比较大 在客服的远程帮助下 xff08 使用我手机远程 xff0c 打开相机就能看到我相机看到的东西
  • Mac终端首行显示特定字符便于查看

    方法一 xff1a 2022年11月3日亲测有效 xff1a 在终端中输入 sudo scutil set HostName x1f412 x1f412 x1f412 x1f412 x1f412 x1f412 就是你想修改的名字 回车之后重
  • VSC 配置c++调试环境

    弄了半天 xff0c 总算弄好了 xff0c 结合网上的教程 xff0c 整理分享一下 总体流程 xff1a 下载安装vscode安装cpptools插件安装编译 调试环境修改vscode调试配置文件 下载安装vscode https co
  • 字符串子序列匹配问题

    题目给你长度为n的字符串L xff0c 给你q个长度为0 m的字符串b xff0c 让你判断每一个b是否是字符串L的子序列 L和b长度小于1e5 xff09 例题 xff1a Long Long Ago 有三种做法 最后一种能过 一 最长公
  • 字符串最小字典序子序列

    给出一个长度为n 1 lt n lt 10000 的只有小写字母的字符串 xff0c 然后找出一个长度为m的最小字典子序列 做一个预处理 xff0c 首先26个vector存储每个字母出现位置的下标 xff0c O n 遍历字符串 xff0
  • 关于vscode中使用c语言链接mysql的问题

    关于vscode中使用c语言链接mysql的问题 最近想着写一个图书管理系统 用来当C语言的期末设计作业 xff0c 想着反正都要写了 就写 大 一点就想着连一下数据库吧 xff01 xff01 就碰到了N多的问题 首先我使用的是vscod
  • debain 、pve虚拟化平台修改国内源并修改dns

    pve 是基于debain的一个linux 虚拟化平台 xff0c 可以实现创建虚拟机 问题 xff1a Failed to fetch xxxxxxx E Failed to fetch http ftp debian org debia
  • 虚拟化平台PVE(ProxmoxVirtual Environment)安装部署

    1 iso下载 官方ISO下载地址 2 ventoyu盘制作工具 ventoy官方下载 使用上边制作好u盘 xff0c 将下载好的PVE镜像文件拖入u盘中 3 进入主板bios xff0c 设置u盘为第一启动项 4 进入pe系统选择镜像 5
  • ubuntu22.04安装教程

    1 选择语言 默认 2 取消安装更新 默认 3 选择键盘语言 默认 4 配置ip xff0c 可以直接选择dhcp xff0c 也可选择配置静态ip 默认 5 配置代理 跳过不填写 6 设置镜像源 默认 https mirrors aliy
  • Ubuntu 16.04源码编译安装MySQL5.7

    CentOS源码编译安装 xff0c 可以参考 CentOS 6源码编译安装MySQL5 6 这篇文章 1 软件环境 Ubuntu 16 04mysql 5 7 24 2 安装前的准备 Ubuntu 16 04 sudo apt get i
  • 解决Ubuntu 16.04软件中心闪退的问题

    依次执行以下命令 xff1a sudo apt get update sudo apt get dist upgrade sudo apt get install reinstall software center 引用链接 xff1a h
  • 【Zookeeper+Hadoop+HBase】WMware上搭建基于Ubuntu18.04的Zookeeper+Hadoop+HBase集群

    WMware上搭建基于Ubuntu18 04的Zookeeper 43 Hadoop 43 HBase集群 前言一 环境准备1 创建虚拟机2 网络配置3 克隆2个虚拟机4 更改主机名hostname以及修改hosts文件4 配置各节点之间的
  • 【SpringBoot+阿里云ssl】完成 http转https以及ws转wss

    SpringBoot 43 阿里云ssl完成 http转https以及ws转wss 前言一 HTTP转HTTPS二 ws转wss 前言 本文工作是建立在已经有一个SSL证书的基础之上 阿里云证书如何申请可以参考以下链接 xff1a 阿里云免
  • 【python】pyplot绘制横轴为时间的图

    1 导入环境 span class token keyword import span numpy span class token keyword as span np span class token keyword import sp