Matplotlib 折線圖
可以使用 Matplotlib 中的 plot()
函式建立折線圖。雖然我們可以只繪製一條線,但它能做的並不僅限於此。我們可以明確的定義網格、x 和 y 軸比例以及標籤、標題和顯示選項。
折線圖示例
下面的示例將建立折線圖。
from pylab import *
t = arange(0.0, 2.0, 0.01)
s = sin(2.5*pi*t)
plot(t, s)
xlabel('time (s)')
ylabel('voltage (mV)')
title('Sine Wave')
grid(True)
show()
輸出:
![Matplotlib 折線圖](/img/Tutorial/Matplotlib/Matplotlib line chart.svg)
正弦表示,
from pylab import *
t = arange(0.0, 2.0, 0.01)
s = sin(2.5*pi*t)
只需定義要繪製的資料。
from pylab import *
t = arange(0.0, 2.0, 0.01)
s = sin(2.5*pi*t)
plot(t, s)
show()
繪製圖表。其他語句解釋一下,語句 xlabel()
設定 x 軸文字,ylabel()
設定 y 軸文字,title()
設定圖表標題,grid(True)
是在圖中開啟網格。
如果要將繪圖儲存到硬碟,請呼叫以下語句:
savefig("line_chart.png")
繪製自定義折線圖
如果要使用陣列(列表)進行繪圖,可以執行以下指令碼:
from pylab import *
t = arange(0.0, 20.0, 1)
s = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
plot(t, s)
xlabel('Item (s)')
ylabel('Value')
title('Python Line Chart: Plotting numbers')
grid(True)
show()
下面的這句話,定義從 0 開始,繪製 20 個元素(我們的陣列的長度),步長為 1。
t = arange(0.0, 20.0, 1)
輸出:
![列表中的 Python 折線圖](/img/Tutorial/Matplotlib/Matplotlib line chart from list.svg)
一個圖中多條線
如果要在一個圖表中繪製多條線,只需多次呼叫 plot()
函式即可。舉一個例子:
from pylab import *
t = arange(0.0, 20.0, 1)
s = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
s2 = [4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]
plot(t, s)
plot(t, s2)
xlabel('Item (s)')
ylabel('Value')
title('Python Line Chart: Plotting numbers')
grid(True)
show()
輸出:
![python 多條折線圖](/img/Tutorial/Matplotlib/Matplotlib multiple line charts.svg)
Matplotlib subplot 子圖
如果你想在同一視窗中的不同檢視中繪製它們,你可以使用[subplot()
]({{ <relref “/Tutorial/Matplotlib/Matplotlib subplot.md” > }})
import matplotlib.pyplot as plt
from pylab import *
t = arange(0.0, 20.0, 1)
s = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
s2 = [4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]
plt.subplot(2, 1, 1)
plt.plot(t, s)
plt.ylabel('Value')
plt.title('First chart')
plt.grid(True)
plt.subplot(2, 1, 2)
plt.plot(t, s2)
plt.xlabel('Item (s)')
plt.ylabel('Value')
plt.title('Second chart')
plt.grid(True)
plt.show()
輸出:
![Python 子圖](/img/Tutorial/Matplotlib/Matplotlib subplots.svg)
plt.subplot()
語句在這裡很關鍵。subplot()
命令指定子圖行數,列數和要繪製的子圖的編號。
線條樣式
如果想要粗線或設定顏色,請使用:
plot(t, s, color="red", linewidth=2.5, linestyle="-")