1. 程式人生 > >使用python中的Matplotlib繪圖示例

使用python中的Matplotlib繪圖示例

當我們按照前一篇博文

配置好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