当我们按照前一篇博文
http://blog.csdn.net/tao_627/article/details/44004541
配置好python的绘图环境后,下面给出几个有代表性的例子:
一.绘制柱状图
#!/usr/bin/env_python
#encoding: utf-8
import matplotlib.pyplot as plt
def bar_chart_generator():
l=[1,2,3,4,5]
h=[20,14,38,27,9]
w=[0.1,0.2,0.3,0.4,0.5]
b=[1,2,3,4,5]
fig=plt.figure()
ax=fig.add_subplot(111)
rects=ax.bar(l,h,w,b)
plt.show()
bar_chart_generator()
二.绘制曲线图
#!/usr/bin/env_python
#encoding: utf-8
#usage: python curve_demo.py
import matplotlib.pyplot as plt
import numpy as np
#To draw y=x^2(-3<=x<=3)
x = np.arange(-3,3.5,0.5)
y = [ele**2 for ele in x]
z = [ele *2 for ele in x]
fig = plt.figure(1)
ax = fig.add_subplot(211)
line1 = ax.plot(x,y,'ro-')
ax = fig.add_subplot(212)
line2 = ax.plot(x,z,'g-')
plt.show()
三.绘制折线图
#!/usr/bin/env_python
#encoding: 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()
参考文献
[1].http://blog.sina.com.cn/s/blog_68b606350101ryao.html