iT邦幫忙

2023 iThome 鐵人賽

DAY 21
0

  簡報時,我們常會聽到「用數字說話」這句話,面對主管、同事真的是講出每個數字就能讓聆聽者理解嗎?錯!大部分的人單看數字都容易眼花撩亂,想讓對方理解你的報告,圖表視覺化的能力就非常重要!今天,就帶大家用一招快速將複雜的數字變成簡單的圖表!一起來看!

■ 說明

在 Series 和 DataFrame 的結構下,Pandas 內建繪圖函數 plot(**args*, ***kwargs*) ,提供基本視覺化的處理,如:折線圖、長條圖、散點圖等,適合對製圖的自定義需求不高,想快速獲得圖表進行初步數據分析的使用者!常用參數包含:

  • data:製圖的數據,Series 或 DataFrame。
  • kind:指定圖形,預設為 line plot 折線圖,亦有 bar、barh、hist、scatter、pie等。
  • x:指定 X 軸的數據。
  • y:指定 Y 軸的數據。
  • legend:圖例,預設為 True,顯示圖例。
  • title:圖表標題,使用英文,不直接支援中文。
  • figsize:圖表大小,使用 tuple( width, height )表示。
  • xlabel:設定 X 軸的標籤名稱。
  • ylabel:設定 Y 軸的標籤名稱。
  • color:顏色,預設為藍色。
  • rot:旋轉標籤刻度。

■ 實作|折線圖 line plot

  1. 使用時機:時間、趨勢、比較多個數據的變化
  2. 舉例:2023年,台北和高雄的月平均溫度變化圖
import pandas as pd
import matplotlib.pyplot as plt
data = {'month':['Jan','Fab','Mar','Apr','May','Jun','Jul','Aug','Sep'],
        'Taipei':[16,17,19,22,25,28,30,29,27],
        'Kaohsiung':[19,20,23,25,27,28,32,30,28]}
df = pd.DataFrame(data)
df.plot(kind='line',xlabel='month',ylabel='degree(°C)',title='Monthly Average Temperature in 2023',color=['blue','red'])
plt.show()

https://ithelp.ithome.com.tw/upload/images/20231006/20162238XsGOYyDSlq.png

■ 實作|長條圖 bar chart

  1. 使用時機:比較不同類別的差異或排名
  2. 舉例:台灣六都人口統計圖
import pandas as pd
import matplotlib.pyplot as plt
data = {'city':['Taipei','New Taipei','Taoyuan','Taichung','Tainan','Kaohsiung'],
        'population':[2.5,4.03,2.3,2.83,1.85,2.73]}
df = pd.DataFrame(data)
df.set_index('city', inplace=True)   # 將city轉換為index
df.plot(kind='bar',xlabel='city',ylabel='number(million)',title='Population of Taiwan six cities',legend=False,rot=0)
plt.show()

https://ithelp.ithome.com.tw/upload/images/20231006/20162238l21tvisKu3.png

■ 實作|散布圖 scatter plot

  1. 使用時機:評估不同變數的相關性或辨識數據集中程度
  2. 舉例:評估單價和銷售量的情況
import pandas as pd
import matplotlib.pyplot as plt
data = {'price(TWD)':[50,80,100,120,150,180,200,230,250,300],
        'sales':[100,90,80,70,60,30,20,15,10,0]}
df = pd.DataFrame(data)
df.plot(kind='scatter',x='price(TWD)',y='sales',title='Price & Sales Analysis',color='orange')
plt.show()

https://ithelp.ithome.com.tw/upload/images/20231006/20162238BqMp4FH9bo.png

■ 結語

  熟悉 Pandas 內建的 plot( ) 函數用法,就能輕鬆將資料視覺化呈現!有需要的朋友不妨試試吧!如果有任何不理解、錯誤或其他方法想分享的話,歡迎留言給我!喜歡的話,也歡迎按讚訂閱唷!

我是 Eva,一位正在努力跨進資料科學領域的女子!我們下一篇文章見!Bye Bye~
【本篇文章將同步更新於個人的 Medium,期待與您的相遇!】


上一篇
Day 20|在 VS Code 印出漂亮的 DataFrame
下一篇
Day 22|資料視覺化 - Matplotlib
系列文
Pandas|資料前處理工具 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言