Python
Search…
Matplotlib統計圖表繪製
Matplotlib是Python中非常受到歡迎的圖表繪製模組,以下是它的官網,在官網中就可以看出它的能力是多麼強大:
Matplotlib: Python plotting — Matplotlib 3.4.3 documentation
儘管它的功能強大,但在使用上確是非常簡單,基本上只要有兩個座標串列的資料,送進去plot函數中,即可幫我們繪製出圖表,在jupyter notebook使用Matplotlib繪製圖表的基本程式如下:
1
%matplotlib inline
2
import matplotlib.pyplot as plt
3
temperatures = [32.1, 33.5, 33.6, 33.7, 34.9, 34.9, 35, 35.1, 35.5, 36.3, 36.4, 36.5, 36.5, 36.4, 36.3]
4
plt.plot(range(len(scores)), temperatures)
5
plt.show()
Copied!
上述程式中的第3行是某一個時段量測到的即時溫度資料,想要把溫度變化的情形畫出來,只要把這些溫度資料放到第4行中的第2個參數中(Y座標值),而在第1個參數中放的是X座標值,最後再以plt.show() 函數即可呈現出該圖形。第1行的目的是為了告訴jupyter notebook把此圖形嵌入到輸出區域即可。繪製出來的圖形如下所示:
如果想要比較兩組不同的數組,例如在不同的月份的同一段時間之溫度變化情形,可以準備這個組數列,各使用一個plt.plot()函數呼叫,最後再用1個plt.show()把它們一併呈現出來即可,程式如下所示:
1
%matplotlib inline
2
import matplotlib.pyplot as plt
3
temper1 = [32.1, 33.5, 33.6, 33.7, 34.9, 34.9, 35, 35.1, 35.5, 36.3, 36.4, 36.5, 36.5, 36.4, 36.3]
4
temper2 = [25.1, 25.5, 25.6, 25.6, 26.2, 26.3, 26, 26.1, 25.5, 25.3, 25.4, 25.2, 25.1, 25, 24.5]
5
plt.plot(range(len(scores)), temper1)
6
plt.plot(range(len(scores)), temper2)
7
plt.show()
Copied!
在同一張圖表中使用了2個數組,matplotlib會自動使用不同的顏色來繪製,結果如下:
當然,如果要加上標頭名稱以及x, y座標的說明以及圖例,也都有相對應的函數可以使用,如下:
1
%matplotlib inline
2
import matplotlib.pyplot as plt
3
temper1 = [32.1, 33.5, 33.6, 33.7, 34.9, 34.9, 35, 35.1, 35.5, 36.3, 36.4, 36.5, 36.5, 36.4, 36.3]
4
temper2 = [25.1, 25.5, 25.6, 25.6, 26.2, 26.3, 26, 26.1, 25.5, 25.3, 25.4, 25.2, 25.1, 25, 24.5]
5
plt.title("Temperature: June vs. March")
6
plt.xlabel("Measurement")
7
plt.ylabel("degree")
8
plt.ylim(20, 45)
9
plt.plot(range(len(scores)), temper1, label='June')
10
plt.plot(range(len(scores)), temper2, label='March')
11
plt.legend()
12
plt.show()
Copied!
上述程式執行的結果如下所示:
Last modified 2yr ago
Copy link