下面主要以 pyplot 這個API來說明. 一個數據圖需要具備三個要素, 畫布, 數據內容, 和圖框.
以下列來看, [1, 2, 3, 4]是數據內容, 告訴plt現在要繪製一條經過 (x, y) = 1, 2, 3, 4的線段. 而plt.xlabel() 和 plt.ylabel() 則分別是 X 和 Y 的標籤. plt.title() 則是圖的標題. 從這個例子, 已經可以掌握基礎的繪圖技巧了.
如果要繪製的不是直線, 則修改數據內容, 就可畫出不同的圖了.
在 plt.plot() 裡, 預設呈現的方式為線段, 可使用 'ro' 或是 'b*' 參數, 將數據點調整成 'ro' (紅色圈圈) 或是 'b*' (藍色星星). 同時也可以藉由 plt.axis() 來調整 X軸 和 Y軸 的起始/結束點.
如果想要在同一張畫布上繪製多組數據, 也很簡單, 只要照右式順序 plt.plot(Data1_x axis, Data1_y axis, Data1_style, Data2_x axis, Data2_y axis, Data2_style, ... ) , 就可以把多組數據繪製在同一張畫布上.

相信很多人不會只滿足於上面這個例子, 想要為每組數據標上名稱. 這時候就需要引入在剛開始提到的概念, 先建畫布, 再來填數據和圖框. 使用 fig = plt.figure() 建立空白畫布. 並添加三組數據. 最後使用 plt.legend() 把數據名稱標出來, legend可在括號內添加 loc='location' 參數定義數據名稱的位置.
常常我們需要把各種不同的數據圖表並列, 這時候就可以看出 fig = plt.figure() 強大的地方了. 使用 內部參數1 及 figsize=() 定義出要畫的圖為1行, 大小為 9*3. 並且使用 plt.subplot() 來定義子圖的位置. 如下圖將三種不同類型的統計畫呈現在一張畫布上.
最後教大家畫的是直方圖 (Histogram), 我們使用的指令是 plt.hist(). 下圖我們定義一個均值為100, 標準差為15的數據組, 並畫出常態分佈圖. 在 plt.hist() 裡, 可以設定 參數facecolor 來變換顏色, 也可以用 alpha (介於0~1) 來設定透明度. plt.text() 則可為數據標上說明. 最後的 plt.grid() 是用來設定格線, 預設是不顯示(False).
以上先簡單的翻譯了官方網站繪製統計圖的內容, 之後如果我有時間, 會在總結其他 Matplotlib 的功能.
其他連結:
1. Seaborn 的介紹
0 留言