关闭

python matplotlib画图细节实现

标签: Pythonmatploblib画图Python库
196人阅读 评论(0) 收藏 举报
分类:

我的个人博客: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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:792次
    • 积分:48
    • 等级:
    • 排名:千里之外
    • 原创:4篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档