鍍金池/ 教程/ 數(shù)據(jù)分析&挖掘/ NumPy Matplotlib庫(kù)
NumPy位操作
NumPy數(shù)學(xué)算數(shù)函數(shù)
NumPy高級(jí)索引
NumPy環(huán)境安裝配置
NumPy IO文件操作
NumPy字符串函數(shù)
NumPy切片和索引
NumPy統(tǒng)計(jì)函數(shù)
NumPy矩陣庫(kù)
NumPy數(shù)組創(chuàng)建例程
NumPy線性代數(shù)
NumPy Matplotlib庫(kù)
NumPy教程
NumPy排序、搜索和計(jì)數(shù)函數(shù)
NumPy字節(jié)交換
NumPy Ndarray對(duì)象
NumPy數(shù)組操作
NumPy使用 Matplotlib 繪制直方圖
NumPy數(shù)組屬性
NumPy廣播
NumPy來(lái)自現(xiàn)有數(shù)據(jù)的數(shù)組
NumPy副本和視圖
NumPy在數(shù)組上的迭代
NumPy來(lái)自數(shù)值范圍的數(shù)組
NumPy算數(shù)運(yùn)算
NumPy數(shù)據(jù)類型

NumPy Matplotlib庫(kù)

NumPy - Matplotlib

Matplotlib 是 Python 的繪圖庫(kù)。 它可與 NumPy 一起使用,提供了一種有效的 MatLab 開(kāi)源替代方案。 它也可以和圖形工具包一起使用,如 PyQt 和 wxPython。

Matplotlib 模塊最初是由 John D. Hunter 編寫的。 自 2012 年以來(lái),Michael Droettboom 是主要開(kāi)發(fā)者。 目前,Matplotlib 1.5.1 是可用的穩(wěn)定版本。 該軟件包可以二進(jìn)制分發(fā),其源代碼形式在 www.matplotlib.org 上提供。

通常,通過(guò)添加以下語(yǔ)句將包導(dǎo)入到 Python 腳本中:

from matplotlib import pyplot as plt

這里pyplot()是 matplotlib 庫(kù)中最重要的函數(shù),用于繪制 2D 數(shù)據(jù)。 以下腳本繪制方程y = 2x + 5

示例

import numpy as np 
from matplotlib import pyplot as plt 

x = np.arange(1,11) 
y =  2  * x +  5 
plt.title("Matplotlib demo") 
plt.xlabel("x axis caption") 
plt.ylabel("y axis caption") 
plt.plot(x,y) plt.show()

ndarray對(duì)象xnp.arange()函數(shù)創(chuàng)建為x軸上的值。y軸上的對(duì)應(yīng)值存儲(chǔ)在另一個(gè)數(shù)組對(duì)象y中。 這些值使用matplotlib軟件包的pyplot子模塊的plot()函數(shù)繪制。

圖形由show()函數(shù)展示。

上面的代碼應(yīng)該產(chǎn)生以下輸出:

作為線性圖的替代,可以通過(guò)向plot()函數(shù)添加格式字符串來(lái)顯示離散值。 可以使用以下格式化字符。

字符 描述
'-' 實(shí)線樣式
'--' 短橫線樣式
'-.' 點(diǎn)劃線樣式
':' 虛線樣式
'.' 點(diǎn)標(biāo)記
',' 像素標(biāo)記
'o' 圓標(biāo)記
'v' 倒三角標(biāo)記
'^' 正三角標(biāo)記
'<' 左三角標(biāo)記
'>' 右三角標(biāo)記
'1' 下箭頭標(biāo)記
'2' 上箭頭標(biāo)記
'3' 左箭頭標(biāo)記
'4' 右箭頭標(biāo)記
's' 正方形標(biāo)記
'p' 五邊形標(biāo)記
'*' 星形標(biāo)記
'h' 六邊形標(biāo)記 1
'H' 六邊形標(biāo)記 2
'+' 加號(hào)標(biāo)記
'x' X 標(biāo)記
'D' 菱形標(biāo)記
'd' 窄菱形標(biāo)記
'|' 豎直線標(biāo)記
'_' 水平線標(biāo)記

還定義了以下顏色縮寫。

字符 顏色
'b' 藍(lán)色
'g' 綠色
'r' 紅色
'c' 青色
'm' 品紅色
'y' 黃色
'k' 黑色
'w' 白色

要顯示圓來(lái)代表點(diǎn),而不是上面示例中的線,請(qǐng)使用ob作為plot()函數(shù)中的格式字符串。

示例

import numpy as np 
from matplotlib import pyplot as plt 

x = np.arange(1,11) 
y =  2  * x +  5 
plt.title("Matplotlib demo") 
plt.xlabel("x axis caption") 
plt.ylabel("y axis caption") 
plt.plot(x,y,"ob") 
plt.show()

上面的代碼應(yīng)該產(chǎn)生以下輸出:

繪制正弦波

以下腳本使用 matplotlib 生成正弦波圖。

示例

import numpy as np 
import matplotlib.pyplot as plt 
# 計(jì)算正弦曲線上點(diǎn)的 x 和 y 坐標(biāo)
x = np.arange(0,  3  * np.pi,  0.1) 
y = np.sin(x)
plt.title("sine wave form")  
# 使用 matplotlib 來(lái)繪制點(diǎn)
plt.plot(x, y) 
plt.show()

subplot()

subplot()函數(shù)允許你在同一圖中繪制不同的東西。 在下面的腳本中,繪制正弦余弦值。

示例

import numpy as np 
import matplotlib.pyplot as plt 
# 計(jì)算正弦和余弦曲線上的點(diǎn)的 x 和 y 坐標(biāo) 
x = np.arange(0,  3  * np.pi,  0.1) 
y_sin = np.sin(x) 
y_cos = np.cos(x)  
# 建立 subplot 網(wǎng)格,高為 2,寬為 1  
# 激活第一個(gè) subplot
plt.subplot(2,  1,  1)  
# 繪制第一個(gè)圖像 
plt.plot(x, y_sin) 
plt.title('Sine')  
# 將第二個(gè) subplot 激活,并繪制第二個(gè)圖像
plt.subplot(2,  1,  2) 
plt.plot(x, y_cos) 
plt.title('Cosine')  
# 展示圖像
plt.show()

上面的代碼應(yīng)該產(chǎn)生以下輸出:

Sub Plot

bar()

pyplot子模塊提供bar()函數(shù)來(lái)生成條形圖。 以下示例生成兩組xy數(shù)組的條形圖。

示例

from matplotlib import pyplot as plt 
x =  [5,8,10] 
y =  [12,16,6] 
x2 =  [6,9,11] 
y2 =  [6,15,7] 
plt.bar(x, y, align =  'center') 
plt.bar(x2, y2, color =  'g', align =  'center') 
plt.title('Bar graph') 
plt.ylabel('Y axis') 
plt.xlabel('X axis') 
plt.show()