Matplotlib是一个由John Hunter等开发的,用以绘制二维图形的Python模块。Matplotlib可以绘制多种形式的图形包括普通的线图,直方图,饼图,散点图以及误差 线图等;可以比较方便的定制图形的各种属性比如图线的类型,颜色,粗细,字体的大小等;它能够很好地支持一部分TeX排版命令,可以比较美观地显示图形中 的数学公式。
Matplotlib的安装方法请参考官方文档:http://matplotlib.sourceforge.net/users/installing.html
为了方便大家下载,这里提供NumPy、SciPy以及Matplotlib的下载地址:
NumPy:http://sourceforge.net/projects/numpy/files/
SciPy:http://sourceforge.net/projects/scipy/files/
Matplotlib:http://sourceforge.net/projects/matplotlib/files/matplotlib/
官方提供了Matplotlib很多示例,大家请参考:http://matplotlib.sourceforge.net/gallery.html
在实际的生产环境中,曾经遇到过这样一个问题,将一些数据分析结果,按照日期形式做线性统计,非常感谢《Python科学计算》的作者的帮助,下面将代码进行分享。
# -*- coding: utf-8 -*-
import numpy as np
import pylab as pl
from StringIO import StringIO
data_str = """
2012-04-01_02 68
2012-04-01_05 70
2012-04-01_08 69
2012-04-01_11 71
2012-04-01_14 72
2012-04-01_20 70
2012-04-02_02 71
2012-04-02_05 70
2012-04-02_08 69
2012-04-02_11 71
2012-04-02_14 69
2012-04-02_20 71
2012-04-03_02 74
2012-04-03_05 73
2012-04-03_08 77
2012-04-03_11 70
2012-04-03_14 71
2012-04-03_20 70
2012-04-04_02 70
2012-04-04_05 72
2012-04-04_08 72
2012-04-04_11 69
2012-04-04_14 71
2012-04-04_20 69
2012-04-05_02 75
"""
data = np.loadtxt(StringIO(data_str),
dtype=np.dtype([("t", "S13"),("v", float)]))
datestr = np.char.replace(data["t"], "_", " ")
t = pl.datestr2num(datestr)
v = data["v"]
pl.plot_date(t, v, fmt="-o")
pl.subplots_adjust(bottom=0.3)
ax = pl.gca()
ax.fmt_xdata = pl.DateFormatter('%Y-%m-%d %H:%M:%S')
pl.xticks(rotation=90)
pl.xticks(t, datestr) # 如果以数据点为刻度,则注释掉这一行
ax.xaxis.set_major_formatter(pl.DateFormatter('%Y-%m-%d %H'))
pl.grid()
pl.show()
效果图如下:
转载于:https://blog.51cto.com/6226001001/1576189