iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 19
0
AI & Data

Machine Learning for Dummies系列 第 19

[Day 19] Hello Matplotlib!

  • 分享至 

  • xImage
  •  

前面談完了 Python、NumPy 還有 Pandas,這一系列我們要介紹的另外一個 Python Libray 是能夠幫助我們視覺化資料的 Matplotlib

起手式

import numpy as np
import matplotlib.pyplot as plt

跟使用 Pandas 的時候一樣,在使用 Matplotlib 時也同時引入 NumPy

線圖

我們先用在 NumPy 裡面學過的方法,快速產生兩組陣列

x = np.arange(10)
y = 2 * x + 1

會得到

[0 1 2 3 4 5 6 7 8 9]  #x
[ 1  3  5  7  9 11 13 15 17 19]  #y

其實可以很明顯的發現,這條線如果寫成方程式,就會是 y = 2x + 1

接著我們使用 .plot() 的方法來畫出線圖。裡面可以放下剛剛的兩組陣列 x 和 y,並可以決定這條線的顏色 (color),以及資料點的形狀 (marker)

plt.plot(x, y, color='#FF6600', marker='o')

得到的結果如下:

Imgur

直方圖

這裡一樣我們先創造兩個陣列,其中 x 是一個從 0 到 9 的有序陣列

x = np.arange(10)
y = np.random.randint(0,50,10)

接著我們用 .bar() 來畫出直方圖

plt.bar(x, y, label="sample data", color='red', width=0.5)
plt.legend()
plt.xlabel('x axis')
plt.ylabel('y axis')
plt.title('This is the title')
plt.show()

你會看到的這裡有些新的設定,像是

  • width: 決定直方圖的圖形寬度
  • legend: 在表上顯示資料的顏色與名稱
  • xlable, ylable: x 與 y 軸的名稱

繪圖的結果如下:

Imgur

我們也可以將多筆資料畫上直方圖,不過這裡要注意的是,因為這裡兩筆資料的 x 值是完全一樣的,如果放在圖上的話,兩筆資料的圖形會重疊在一起。

所以這裡會看到我在 .bar() 中的 x 值做了一點手腳,讓兩筆資料的圖前後錯開。

Imgur

堆疊圖

堆疊圖可以幫助我們快速看到資料之間的比例關係,在 Matplotlib 中我們可以用 .stackplot() 方法,將多筆資料一次輸入,製作堆疊圖。當然這裡我們可以指定不同資料的顏色

Imgur

圓餅圖

最後來看一下大家常用的圓餅圖吧!其實也很簡單,用 .pie() 方法,其中我們可以設定

  • colors - 顏色
  • shadow - 陰影
  • explode - 每一塊餅離開圓心的程度
  • autopot - 顯示百分比,1.1f 代表顯示到小數點後一位的值

繪圖的結果如下,另外最下面也印出了數值,與其百分比的值作為參考

Imgur


今天就先簡單介紹線圖、直方圖、堆疊圖、圓餅圖的做法,明天將會繼續來看 Matplotlib 的其他功能與應用!


上一篇
[Day 18] Hello Pandas (3)
下一篇
[Day 20] Hello Matplotlib! (2)
系列文
Machine Learning for Dummies30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言