1. 导入环境

import numpy as np
import matplotlib.pyplot as pltfrom 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 DateFormatterdef 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 的长度不一致!")

效果如下:

【python】pyplot绘制横轴为时间的图相关推荐

  1. pandas 绘图大全(和绘制横坐标为时间的图)

    通常python数据绘图都会使用 Matplotlib 库,当然本篇文章的内容也和它有关.也可以使用pandas 对数据进行绘图.在使用pandas 绘图时,当然要先导入 Matplotlib 库才能 ...

  2. python+matplotlib绘制南丁格尔玫瑰图

    实验:绘制南丁格尔玫瑰图   本实验有一定难度,有人说matplotlib绘图和matlab大同小异,我看除了一些函数名相同之外,其他的像参数和使用方法很不一样.另外我不知道是不是在matlab中画玫 ...

  3. Python Matplotlib绘制漂亮的K线图,利用Tushare绘制K线图

    1 引言 做量化分析,难免要将自己的某些指标等绘制在K线图上,或者对某些指标进行改造观察K线图和指标对应的走势关系.那么用Python如何绘制和炒股软件类似的效果呢. 2 准备工具 (1)数据源:Tu ...

  4. Python+pyplot绘制带文本标注的柱状图

    import numpy as np import matplotlib.pyplot as plt # 生成测试数据 x = np.linspace(0, 10, 10) y = 11-x # 绘制 ...

  5. python三维图怎么显示_如何在python中绘制多个回归3D图

    我不是科学家,所以请假设我不知道有经验的程序员的行话,或者科学绘图技术的复杂性. Python是我所知道的唯一语言(初学者,也许是中级). 任务:将多元回归的结果(z = f(x,y))绘制为3D图形 ...

  6. Python+matplotlib绘制函数曲线查找函数极值

    推荐图书: <Python程序设计基础(第2版)>,ISBN:9787302490562,董付国,清华大学出版社,第16次印刷,清华大学出版社2019年度畅销图书 图书详情: 配套资源:用 ...

  7. python的matplotlib.pyplot绘制甘特图

    博主本来就想简单地找一下代码,画一幅甘特图,结果百度之后发现甘特图的代码基本都不是用matplotlib库,但是像柱状图等统计图通常都是用这个库进行绘制的,所以博主就花了一些时间,自己敲了一份代码,简 ...

  8. python动态横道图_python的matplotlib.pyplot绘制甘特图

    博主本来就想简单地找一下代码,画一幅甘特图,结果百度之后发现甘特图的代码基本都不是用matplotlib库,但是像柱状图等统计图通常都是用这个库进行绘制的,所以博主就花了一些时间,自己敲了一份代码,简 ...

  9. 超详细的Python matplotlib 绘制动态图

    复习回顾 在matplotlib模块中我们前面学习绘制如折线.柱状.散点.直方图等静态图形.我们都知道在matplotlib模块主要有三层脚本层为用户提供快捷的绘制图形方法,美工层接收到脚本层的命令后 ...

最新文章

  1. find命令详解(原创)
  2. Android 使用ORMLite 操作数据库
  3. Linux下构建FTP服务器
  4. 【2020年第12届全国大学生数学竞赛——资源分享 】【1~11届省赛决赛考题及题解(数学类、非数学类)、推荐学习网址、复习备考书籍推荐】
  5. 「Self-driving: Perception」多传感器融合之Camera、Lidar 雷达融合
  6. 关于js中function(e) e的理解
  7. 每日一题(35)—— heap与stack的差别
  8. 问题记录——com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure...
  9. linux中执行命令权限不够怎样处理
  10. html弹跳qq群号代码,抖音上QQ群霸屏消息代码分享_抖音上QQ群霸屏消息代码大全-街机中国...
  11. 寻找生态位置,中小险企破局生态建设——保险生态建设...
  12. 最小二乘法线性拟合介绍以及matlab实现
  13. 计算机上怎么计算x的n次方,计算x的n次方
  14. VRCORE开发者大赛圆满落幕,中国虚拟现实内容大集结
  15. kfold cross_validate Stratified KFold StratifiedKFold 和 StratifiedShuffleSplit 交叉验证方法
  16. 无线网络性能测试 软件,WiFi性能测试
  17. 《 iOS 应用逆向工程》作者沙梓社专访:运用逆向工程思维来优化自己的产品
  18. android 怎样设置铃声
  19. java解压obb_obb文件怎么解压 打开obb文件的注意事项 - 驱动管家
  20. 设备中LPC2368芯片个例参数问题导致故障的分析

热门文章

  1. Delta3D(5)教程:创建游戏角色-1
  2. 游戏 归纳+举例的分析方式
  3. 远翔小升压FP6291
  4. 【数据结构】顺序表(C++)
  5. rust门卡有什么用_地球末日门禁卡A卡 | 手游网游页游攻略大全
  6. 3Ds Max插件使用教程
  7. ESET NOD32 Antivirus amp; ESET Smart Security下载地址汇总
  8. HTML5网页设计基础——用户中心
  9. 安卓不知道怎么学?看十年码农如何回答这个问题。
  10. Flutter boost框架学习笔记