python matplotlib绘图

    工作需要绘制曲线,我想python肯定是支持绘图的吧,google了一下,发现了matplotlib。下午google了一些帖子,目前实现了简单的绘图功能,不过还是一知半解,对代码并不完全理解,整理如下:

import numpy as np
import pylab as p1
import sys

fig_name=sys.argv[1] + ".png"   #生成图片名
data=np.loadtxt(sys.argv[1], dtype=np.dtype([("t","S10"),("v", float)])); #从文件中读取输入数据
datestr=data["t"] #横轴
t=p1.datestr2num(datestr) 
v=data["v"]
Fig=p1.figure(figsize=(24,12)) #图片大小
p1.plot_date(t,v,fmt="-o")
p1.subplots_adjust(bottom=0.3)

ax = Fig.gca();
ax.fmt_xdata = p1.DateFormatter('%y-%m-%d %H-%M:%S') #横轴以时间表示
p1.xticks(rotation=90)

p1.xticks(t, datestr)
ax.xaxis.set_major_formatter(p1.DateFormatter('%Y-%m-%d'))
p1.grid()
Fig.show()
Fig.savefig(fig_name); #保存成文件,支持pdf、png等,不支持jpg

matplotlib绘图功能很强大,我只用到了皮毛,这里面的重点是横轴用时间字符串表示。

执行:python event_trend_analysis.py filename

结果:

原文地址:https://www.cnblogs.com/changxiaoxiao/p/2870402.html