Python
  • 什麼是Python
  • 教科書及參考用書
  • 開始執行Python
  • Python語言要素
  • 決策與迴圈指令
  • 串列list型態
  • 元組tuple型態
  • 字典dict型態
  • 檔案操作
  • SQLite資料庫操作簡介
  • 例外處理
  • 網路公開資訊擷取技巧
  • 網頁擷取技巧
  • Pandas模組簡介
  • Matplotlib統計圖表繪製
  • 投影片下載
Powered by GitBook
On this page

Matplotlib統計圖表繪製

PreviousPandas模組簡介Next投影片下載

Last updated 6 years ago

Matplotlib是Python中非常受到歡迎的圖表繪製模組,以下是它的官網,在官網中就可以看出它的能力是多麼強大:

儘管它的功能強大,但在使用上確是非常簡單,基本上只要有兩個座標串列的資料,送進去plot函數中,即可幫我們繪製出圖表,在jupyter notebook使用Matplotlib繪製圖表的基本程式如下:

%matplotlib inline
import matplotlib.pyplot as plt
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]
plt.plot(range(len(scores)), temperatures)
plt.show()

上述程式中的第3行是某一個時段量測到的即時溫度資料,想要把溫度變化的情形畫出來,只要把這些溫度資料放到第4行中的第2個參數中(Y座標值),而在第1個參數中放的是X座標值,最後再以plt.show() 函數即可呈現出該圖形。第1行的目的是為了告訴jupyter notebook把此圖形嵌入到輸出區域即可。繪製出來的圖形如下所示:

如果想要比較兩組不同的數組,例如在不同的月份的同一段時間之溫度變化情形,可以準備這個組數列,各使用一個plt.plot()函數呼叫,最後再用1個plt.show()把它們一併呈現出來即可,程式如下所示:

%matplotlib inline
import matplotlib.pyplot as plt
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]
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]
plt.plot(range(len(scores)), temper1)
plt.plot(range(len(scores)), temper2)
plt.show()

在同一張圖表中使用了2個數組,matplotlib會自動使用不同的顏色來繪製,結果如下:

當然,如果要加上標頭名稱以及x, y座標的說明以及圖例,也都有相對應的函數可以使用,如下:

%matplotlib inline
import matplotlib.pyplot as plt
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]
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]
plt.title("Temperature: June vs. March")
plt.xlabel("Measurement")
plt.ylabel("degree")
plt.ylim(20, 45)
plt.plot(range(len(scores)), temper1, label='June')
plt.plot(range(len(scores)), temper2, label='March')
plt.legend()
plt.show()

上述程式執行的結果如下所示:

LogoMatplotlib — Visualization with Python