python plot 时间_python – 在matplotlib中绘制时间与日期
我有一个.csv文件,其中只有两列,日期和时间:
04-02-15,11:15
04-03-15,09:35
04-04-15,09:10
04-05-15,18:05
04-06-15,10:30
04-07-15,09:20
我需要使用matplotlib绘制这些数据(最好是在区域图中,还没有那么远).我需要y轴是时间,而x轴是日期.我无法解决时间/日期的一些使用问题,并希望有人可以查看我的代码并提供一些指导:
import numpy as np
from pylab import *
import matplotlib.pyplot as plt
import datetime as DT
data= np.loadtxt('daily_count.csv', delimiter=',',
dtype={'names': ('date', 'time'),'formats': ('S10', 'S10')} )
x = [DT.datetime.strptime(key,"%m-%d-%y") for (key, value) in data ]
y = [DT.datetime.strptime(key,"%h:%m") for (key, value) in data]
fig = plt.figure()
ax = fig.add_subplot(111)
ax.grid()
fig.autofmt_xdate()
fig.autofmt_ytime()
plt.plot(x,y)
plt.xlabel('Date')
plt.ylabel('Time')
plt.title('Peak Time')
plt.show()
每次我尝试运行它,我都会收到此错误:
ValueError: time data '04-02-15' does not match format '%h:%m'
我也怀疑y轴的嘀嗒声,到目前为止似乎还没有确定.我对这段代码的其余部分也非常乐观 – 感谢提前,互联网英雄们!
解决方法:
所以回溯告诉你问题.它试图将您的日期解析为您的时间,这是您在以下行中解析数据的方式的结果:
data= np.loadtxt('daily_count.csv', delimiter=',',
dtype={'names': ('date', 'time'),'formats': ('S10', 'S10')} )
x = [DT.datetime.strptime(key,"%m-%d-%y") for (key, value) in data ]
y = [DT.datetime.strptime(key,"%h:%m") for (key, value) in data]
有多种解决方案,但问题的根源;是当你使用loadtxt并定义名称和dtypes时,它会返回一个元组列表,即
[('04-02-15', '11:15') ('04-03-15', '09:35') ('04-04-15', '09:10')
('04-05-15', '18:05') ('04-06-15', '10:30') ('04-07-15', '09:20')]
因此,当您循环使用它时,您实际上不断访问日期:
>>> print [key for (key, value) in data]
>>> ['04-02-15', '04-03-15', '04-04-15', '04-05-15', '04-06-15', '04-07-15']
所以你试图将’04 -02-15’变成格式’%h:%m’,这当然不会起作用.
为了达到目的,您可以使用zip函数取消对解析数据的干扰.例如,
print map(list, zip(*data))
['04-02-15', '04-03-15', '04-04-15', '04-05-15', '04-06-15', '04-07-15']
['11:15', '09:35', '09:10', '18:05', '10:30', '09:20']
此外,您需要检查所传递日期的格式,例如“%h:%m”将不起作用,因为%h不存在,%m表示月份.您可以在文档上找到一个很好的摘要,或者在这里:http://strftime.org/.
或者说到这一点:
import numpy as np
from pylab import *
import matplotlib.pyplot as plt
import datetime as DT
data= np.loadtxt('daily_count.csv', delimiter=',',
dtype={'names': ('date', 'time'),'formats': ('S10', 'S10')} )
dates, times = map(list, zip(*data))
print dates, times
x = [DT.datetime.strptime(date,"%m-%d-%y") for date in dates]
y = [DT.datetime.strptime(time,"%H:%M") for time in times]
fig = plt.figure()
ax = fig.add_subplot(111)
ax.grid()
plt.plot(x,y)
plt.xlabel('Date')
plt.ylabel('Time')
plt.title('Peak Time')
plt.show()
给出了以下情节:
标签:python,matplotlib,graph-visualization
python plot 时间_python – 在matplotlib中绘制时间与日期相关推荐
- python绘制多个条形图_python – 在Matplotlib中绘制多个直方图 – 颜色或并排条形图...
问题:在Matplotlib中绘制多个直方图时,我无法区分绘图与另一个绘图 图像问题:** **次要问题:部分左侧标签"计数"不在图像范围内.为什么? 描述 我想绘制3个不同组的直 ...
- python画两条曲线_python – 在Matplotlib中绘制两个图之间的线
在许多情况下,来自其他答案的解决方案是次优的(因为只有在计算点之后没有对图进行任何更改时它们才有效). 更好的解决方案是使用专门设计的ConnectionPatch: import matplotli ...
- python热图_python – 使用matplotlib中的3D数据生成热图
我有一个函数returnValuesAtTime,它返回三个lists-x_vals,y_vals和swe_vals.所有三个列表具有相同的长度,并且swe_vals中的每个元素对应于来自x_vals ...
- python画简便的图-python 实现在一张图中绘制一个小的子图方法
有时候为了直观展现图的信息,可以在大图中添加小子图的方式进行数据分析,如下图所示: 具体的代码如下:该图连接了数据库,当然重要的不是数据展示,而是添加子图的方法. import matplotlib. ...
- python画50个图-python 实现在一张图中绘制一个小的子图方法
有时候为了直观展现图的信息,可以在大图中添加小子图的方式进行数据分析,如下图所示: 具体的代码如下:该图连接了数据库,当然重要的不是数据展示,而是添加子图的方法. import matplotlib. ...
- python一张图-python 实现在一张图中绘制一个小的子图方法
有时候为了直观展现图的信息,可以在大图中添加小子图的方式进行数据分析,如下图所示: 具体的代码如下:该图连接了数据库,当然重要的不是数据展示,而是添加子图的方法. import matplotlib. ...
- python中用plot绘制两条直线_在Matplotlib中绘制两条直线之间角度的最佳方法
您可以使用^{}绘制相应角度度量值的弧. 绘制角弧: 定义一个函数,该函数可以接受2matplotlib.lines.Line2D个对象,计算角度并返回一个matplotlib.patches.Arc ...
- python制作简单动画_Python通过matplotlib简单绘制动画实例
Matplotlib是一个Python的2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形.通过Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条 ...
- python画不同颜色的直方图_python - 使用matplotlib同时绘制两个直方图
python - 使用matplotlib同时绘制两个直方图 我使用文件中的数据创建了直方图,没有问题. 现在我想重叠数据另一个文件在同一个直方图中,所以我做了类似的事情 n,bins,patchs ...
最新文章
- iOS实现基于VLC播放器的封装效果
- www.python123.com_Python123
- python编写安全工具_Python3学习系列(四):编写属于自己的邮件伪造工具
- 百度地图mysql打点_关于百度地图连接MYSQL的问题,谢谢啦!
- 吴恩达机器学习正则化线性回归和偏差算法的MATLAB实现(对应ex5练习)
- 谷歌浏览器不能上网问题
- htmla标签下划线去除_div css网页开发布局时a标签去掉下划线
- 访问共享计算机的用户名和密码怎么设置,Win7系统下共享文件夹怎么设置账号密码...
- 软考(网络工程师)-必备网络知识(笔记一)
- 笔记本如何解除锁定计算机,笔记本键盘锁住了怎么解锁 有三种方法可以解决...
- 成为一个大数据开发工程师的学习步骤--文字版
- HDOJ/HDU 2551 竹青遍野(打表~)
- 淘宝4位数七段显示器模块 (74HC595)
- OpenCV笔记11:利用HSV颜色空间进行目标检测和目标跟踪
- 20210130上午新初一(GW+JZ)比赛总结
- 简述RC低通滤波原理
- http和httpsd的区别
- vgpu服务器显卡性能,如何在vGPU环境中优化GPU性能
- 输出单个字符和字符串
- 微信即刻视频下载器插件开发过程原理详解