Python中Matplotlib模組的簡單使用
阿新 • • 發佈:2018-11-07
目錄
Matplotlib
Matplotlib 是 Python 2D 繪圖領域使用最廣泛的套件。它能讓使用者很輕鬆地將資料圖形化,並且提供多樣化的輸出格式。
pyplot類
matplotlib.pyplot類提供一個類似matlab的繪圖框架
pyplot.plot()
matplotlib.pyplot.
plot
( x , y ,' color marker line')
對於樣式 'color marker line' ,每一個都是可選的。如果沒有提供,則使用樣式週期的值。例外情況:如果line
是給的,但不是marker
,資料將是一條沒有標記的行。
color顏色
marker標記
line線條樣式
import numpy as np from matplotlib import pyplot as plt x=np.array([1,2,3,4]) y=np.array([1,2,3,4]) z=np.array([2,4,6,8]) i=np.array([5,6,7,8]) plt.plot(x,y,'r.') #x軸 y軸 樣式 plt.plot(x,z,'g*--',lw=5) #x軸 y軸 樣式 寬度 plt.plot(x,i,'bD:') #x軸 y軸 樣式 plt.show()
畫正弦餘弦函式
#畫正弦函式
import numpy as np
import matplotlib.pyplot as plt #畫圖的庫
x=np.arange(-6,6,0.1) #第一個引數是X軸的start 第二個引數是X軸的end
y=np.sin(x)
z=np.cos(x)
plt.plot(x,y)
plt.plot(x,z) #不設定顏色時,系統預設設定
plt.show()
配置屬性
因為是面向物件的繪相簿,我們可以為每個物件配置它們的屬性,有三種方法可以配置:
- 一是通過物件的方法 set_屬性名()函式
- 二是通過物件的 set() 函式
- 三是通過 pylot 模組提供的 setp() 函式
import matplotlib.pyplot as plt
plt.figure()
line=plt.plot(range(2))[0] # plot函式返回的是一個列表,因為可以同時畫多條線
line.set_color('r') #設定顏色
line.set_linewidth(10) #設定寬度
plt.show()
########################################################
import matplotlib.pyplot as plt
plt.figure()
line=plt.plot(range(2))[0]
line.set(color='r',linewidth=10)
plt.show()
########################################################
plt.figure()
line=plt.plot(range(2))[0]
plt.setp(line,color='r',linewidth=10)
plt.show()
以上三種設定繪圖屬性都是下面同一種效果
pyplot.subplot()
plt.subplot作用是把一個繪圖區域(可以理解成畫布)分成多個小區域,用來繪製多個子圖。
matplotlib.pyplot.
subplot
(nrows, ncols, plot_number)
nrows和ncols表示將畫布分成(nrows*ncols)個小區域,每個小區域可以單獨繪製圖形;plot_number表示將圖繪製在第plot_number個子區域。
舉例: plt1 = subplot(222),
表示畫布分成(2*2=4)個小區域,並將圖 plt1 繪製在畫布中的第二個子區域,也就是右上角位置。
import numpy as np
from matplotlib import pyplot as plt
x=[1,2,3]
y=[1,2,3]
z=[3,2,1]
a=np.arange(-2*np.pi,2*np.pi,0.1)
b=np.sin(a)
c=np.cos(a)
plt1=plt.subplot(221) #將畫布劃分成2*2的區域 ,我們畫第1個區域
plt1.plot(x,y,'b') #畫第一個圖
plt2=plt.subplot(222) #將畫布劃分成2*2的區域 ,我們畫第2個區域
plt2.plot(x,z,'r--') #畫第二個圖
plt3=plt.subplot(223) #將畫布劃分成2*2的區域 ,我們畫第3個區域
plt3.plot(a,b,'c:') #畫第三個圖
plt4=plt.subplot(224) #將畫布劃分成2*2的區域 ,我們畫第4個區域
plt4.plot(a,c,'y--') #畫第四個圖
plt.show()