1. 程式人生 > >Python中Matplotlib模組的簡單使用

Python中Matplotlib模組的簡單使用

目錄

Matplotlib

pyplot類

pyplot.plot()

配置屬性

pyplot.subplot()


Matplotlib

Matplotlib 是 Python 2D 繪圖領域使用最廣泛的套件。它能讓使用者很輕鬆地將資料圖形化,並且提供多樣化的輸出格式。

pyplot類

matplotlib.pyplot類提供一個類似matlab的繪圖框架

pyplot.plot()

 

matplotlib.pyplot.plotx , 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()

配置屬性

因為是面向物件的繪相簿,我們可以為每個物件配置它們的屬性,有三種方法可以配置:

  1. 一是通過物件的方法 set_屬性名()函式
  2. 二是通過物件的 set() 函式
  3. 三是通過 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()