Matplotlib簡介和pyplot的簡單使用——subplot


之前介紹了pyplot里畫簡單的數據曲線,接下來介紹subplot相關的內容。
subplot是為了在一張圖里放多個子圖,與Matlab里的subplot類似。

pyplot是一個有狀態的對象,包含了當前的圖,畫圖區域,等。

pyplot通過調用subplot或者add_subplot來增加子圖,

p1 = plt.subplot(211) 或者 p1 = plt.subplot(2,1,1), 表示創建一個2行,1列的圖,p1為第一個子圖,
然后在p1上畫曲線,設置標注標題圖例等,就可以使用p1來調用相關的函數,
與pyplot相同的是,可以直接使用pyplot畫圖,添加label,等,也可以是使用p1來做這些事情。
與pyplot不同的是,有一些函數的名字不太一樣,添加坐標軸的標注的函數為set_xlabel和set_ylabel,
添加標題set_title,只是給子圖添加標題,由於pyplot是一個有狀態的對象,所以pyplot.title也是給當前子圖添加標題,
如果要給整個圖添加標題,可以使用pyplot.suptitle(text)。

#!/usr/bin/env python

import numpy as np
import matplotlib.pyplot as plt

def f1(t):
    return np.exp(-t)*np.cos(2*np.pi*t)

def f2(t):
    return np.sin(2*np.pi*t)*np.cos(3*np.pi*t)

t = np.arange(0.0,5.0,0.02)

plt.figure(figsize=(8,7),dpi=98)
p1 = plt.subplot(211)
p2 = plt.subplot(212)

p1.plot(t,f1(t),"g-",label="$f(t)=e^{-t} \cdot \cos (2 \pi t)$")
p2.plot(t,f2(t),"r-.",label="$g(t)=\sin (2 \pi t) \cos (3 \pi t)$",linewidth=2)

p1.axis([0.0,5.01,-1.0,1.5])

p1.set_ylabel("v",fontsize=14)
p1.set_title("A simple example",fontsize=18)
p1.grid(True)
p1.legend()

p2.axis([0.0,5.01,-1.0,1.5])
p2.set_ylabel("v",fontsize=14)
p2.set_xlabel("t",fontsize=14)
p2.legend()

plt.show()

最后得到的圖如下,

這些在Matplotlib的手冊里面都有,英文的,這里算是翻譯吧,順便總結一下。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM