使用python中的Matplotlib绘图示例

当我们按照前一篇博文

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

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值