python matplotlib画图细节实现

我的个人博客:http://www.imekaku.com/2015/11/05/python-matplotlib-detail/

在实现matplotlib绘图时,往往还需要对其细节进行更详尽的绘制,matplotlib库提供了丰富的方法,和属性供选择。

__author__ = 'lee'
 
# 2015年11月05日13:03:37
 
import matplotlib.pyplot as plt
import numpy as np
 
def f(t):
    return np.exp(-t) * np.cos(2*np.pi*t)
 
t1 = np.arange(0., 5., 0.1)
t2 = np.arange(0., 5., 0.02)
 
plt.figure(1)
plt.subplot(211)
plt.plot(t1, f(t1), 'bo', t2, f(t2), 'k')
 
plt.subplot(212)
plt.plot(t2, np.cos(2*np.pi*t2), 'r--')
plt.show()

绘制形状如图:


t1,t2分别是两个0-5的等差数列。


plt.figure(1)表示绘制图形1,当如果还有代码例如:plt.figure(2)时,会生成另外的图形,也就是说,在程序执行时,便会生成两个图形。


plt.figure()会返回一个figure对象,例如:


fig = plt.figure()


可以通过figure对象提供的多种方法,对这个图形进行设置。详尽的方法在matplotlib官方帮助文档的904页开始。(注:Release 1.2.1)


比如:


fig.suptitle(“This is the figure’s title”, fontsize=14, fontweight=”bold”)


这个语句会生成fig这个对象,也就是这个图的标题。


 


这里在一个图中生成了两个子图,用了plt.subplot()方法.


当然也有其他的方法,利用plt.figure()返回的fig对象的方法生成子图,如:


ax = fig.add_subplot(111)


不过这里的添加子图的参数是111,也就是在这个图是1横1纵的第一个图,即这个figure对象中只有一个图。


这里返回一个Axes对象(注:帮助文档P907),利用得到的Axes对象可以对这个子图进行详细的设置,比如:


ax.set_title(“axes title”) #设置这个图的标题


ax.set_xlabel(“xlabel”) #设置这个图的x轴的标签


ax.set_ylabel(“ylabel”) #y轴标签


如果不利用ax对象,按照以前的办法,利用plt对轴标签进行设置也是可以的,如:


plt.xlabel(“This is the xlabel”)


但是使用这个代码进行设置的时候,一点需要注意是对哪一个图进行标签设置。


如置顶代码,有两个图,当程序开始执行plt.subplot(212)时,当前的图就是212图,


那么进行标签设置的时候,也是对其标签进行的设置。如果还需要对211图进行设置的话,


就还需要执行一下语句:plt.subplot(211),这样程序又将当前图定位为211图。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值