跳到主要內容

發表文章

目前顯示的是 2019的文章

使用python繪製視覺化--圓餅圖(Pie charts)

圓餅圖主要是呈現整體中各組成間所佔的比例,是一個相對的概念,但如果想看的是各組成間絕對的差異,那一般則是採用長條圖呈現。 除此之外在繪製圓餅圖時不建議用 3D 圓餅圖,因為視覺上對角度的大小辨識較不敏銳,加上 3D 圖的呈現更添視覺判讀的難度,有時候甚至會產生誤判的情況。 在具備以上基本概念後,我們利用 python 的 Plotly 套件來繪製圓餅圖。這次分別以 2008 年、 2018 年來台旅客人次的資料做示範 ( 資料來源為交通部觀光統計資料庫 ) 。 觀光收益為賺取外匯的重要來源 全球經濟發展的推動下, 2018 年國際旅遊的人數較之前增加了 5% ,比原先 UNWTO 的預測提早 2 年達到 14 億人次大關,在此同時全球觀光產業收益增長到 1.7 兆美元。如此龐大的經濟效益顯示觀光產業儼然已成為許多國家賺取外匯的重要來源。 因應這樣具重要性之議題,我們分別以台灣 2008 年、 2018 年這兩年的來台觀光旅客人次用圓餅圖呈現,這部分參考觀光交通部觀光統計資料庫的旅客分類將之區分為 7 類,以下整理做表呈現 : 操作步驟 1. 選定主題,準備素材 以 2008 年、 2018 年來台灣觀光旅客人次資料 做 為操作範例 ( 資料來源為觀光交通部觀光統計資料庫 ) 。 這個範例不只利用圓餅圖內佔比的大小表示各國旅客佔總體來台觀光旅客的比例,還融入了另一個概念,利用圓餅圖的大小 ( 總面積 ) 呈現不同年分總體旅客人次的多寡,也就是將一個圓餅圖作 2 個概念的呈現。 2. 確認繪圖需要用到的參數 : 圓餅圖比例 : 各國旅客人次 3. 繪製圓餅圖 這邊要說明一下 Plotly 內建的語法可以將繪圖區切割成 2 以上的部份,不過依本範例操作的需求僅切成左右 2 個部分即可,並利用內建的語法依據這兩個年份總旅客人次比例計算餅的相對大小 ( 總面積 ) 。 import plotly.graph_objects as go from plotly.subplots import make_subplots labels = ["中國大陸", "港澳", "日本", &qu

視覺化常見圖表 — 選擇正確的圖表

       統計圖表是最早的資料視覺化形式之一,如何將資料直觀且容易了解和操作的方式呈現給使用者,以下介紹基本圖表及屬性和使用時機,讓大家可以依據自己的情境選擇合宜的圖表,達到傳達資訊或解決問題的目的。 🔅推薦視覺化介紹網頁 這個網站整理了 60 種視覺化圖表,也介紹每種圖表的使用時機、定義、使用工具,範本等供參考。 TheData Visualisation Catalogue              網站介面:提供各式視覺畫圖表說明 例如:熱圖 Heatmap ,詳細說明定義及使用情境等。          資料來源: The Data Visualisation Catalogue 網站   🔅 阿貝拉的圖表類型 Andrew Abela 是美國天主教大學教務長暨錢商學院院長,將常見的不同圖表歸納出四種目的:比較 (Comparison), 分佈 (Distribution), 組成 (Composition) 及關係 (Relationship) 。依自己的目的做選擇,藉由了解圖表分類及類型,廣泛的收集範例,整理成筆記,並大量瀏覽視覺化網站,幫助自己快入進入視覺化世界,再依需求畫出適合自己主題的圖來。 資料來源: https://twitter.com/tonydejonker/status/1097191707916025856   🔅 常見圖表 — 依原始資料繪圖 用於視覺化原始資料的屬性值,值觀呈現資料特徵,代表圖形如下 - 資料軌跡 :          為單變數的資料呈現方式,呈現 X 軸 與 Y 軸關係,常見股票隨時間的價格 走勢。          資料來源:奇摩股市截圖     - 柱狀圖 / 長條圖 (bar chart) :         採長方形的形狀和顏色編碼資料的屬性,每根直柱內部也可用像素編碼,也稱推疊圖 (stacked graph) ,可用在多變數和高維資料的視覺化上。 適用 不連續資料 ,每一條長條之間沒有什麼連續、順序性。             - 直方圖 (histogram) :             針對資料裡的某個

使用python繪製視覺化--樹狀圖(Treemap)

樹狀圖在某些特點上跟泡泡圖的類似,都可以提供不只 1 個維度的資訊,並透過形狀大小、顏色來呈現。但是比較不同的地方是樹狀圖有層級的概念,可以用來呈現階層式資料。例如將全臺灣當作第一層,縣市當做第二層 ( 分支 ) ,再下一層則是縣市人口年齡組成。 在這基本概念下利用 python 的 Plotly 套件來繪製堆疊區域圖。這次以 2013-2016 年 國民營養健康調查報告書中的數據為例。 以下針對 2013-2016 年 國民營養健康調查做簡單的介紹 : ²   目的 : 隨時代改變人們飲食習慣也隨之改變,為了對國人的營養健康狀況有所了解,從 1980 年開始委託衛生署食品衛生處、衛生署食品藥物管理局定期辦理全國性營養健康調查, 2013 年起改由衛生福利部國民健康署定期辦理。 2013-2016 年的調查為第五次的國民營養調查。 ²   調查對象 : 所有居住在臺灣本島及澎湖設有戶籍的人口,依據縣市人口比例分層集束抽樣,進行家戶田野調查。 ²   問卷 : 除人口社經等基本資料的收集外,包含 24 小時飲食回顧、飲食頻率、疾病史、營養知識態度與行為、活動量等相關問卷以及身體健康檢查資料。 2013-2016 年總計問卷完訪人數有 11,072 人,體檢人數為 9746 人。 十大死因中心血管疾病常常榜上有名,可見一直是國人重要的死亡原因之一,但因疾病病徵較不明顯,相較於癌症來說反而容易受到忽略,但實則不可輕忽,應即早預防與控制,其中抽煙、高血壓、糖尿病、高血脂等都是心血管疾病的危險因子,本次以高膽固醇數據做示範,了解 2013-2015 年不同年齡層高膽固醇盛行的情況。 操作步驟 1. 選定主題,準備素材 以 2013-2016 年 國民營養健康調查中高膽固醇盛行率為例 ( 衛生福利部國民健康署公告的資料 ) ,了解不同年齡層收到的檢體中,高膽固醇盛行的形況。開始執行前,尚未安裝 plotly 者需要先安裝幾個套件 plotly 、 numpy 以及 squarify ,在 Window 環境下,開起命令提示字元,輸入 pip install plotly ,其他套件也以相同的方式匯入,安裝完成後,就可進入繪圖步驟。 用 Squarify 這個套件來計算圖形區域的分割,一個大正方形的區域依照比

使用python繪製視覺化--熱圖(Heatmap)

熱圖簡言之就是將數值的大小用顏色深淺來呈現,將量化數據透過視覺化的方式傳遞,讓閱讀者可以快速獲取資訊。 在這基本概念下利用 python 的 Plotly 套件來繪製熱圖。這次以 2019 年 1 月到 8 月空氣品質數據為例做二維圖表的熱圖 ( 資料來源為 環保署的監測網 ) 。 空氣品質議題受到全球關注 : 隨著科技發展的同時,環境相關的議題也受到國際重視,包含空氣品質對於健康之衝擊等議題,其中以 PM2.5 對健康的影響最為受到關注。唯影響空氣品質的因素複雜,需立基於全球觀點共同探討空氣汙染、氣候改變對健康的衝擊,因此探討對於健康之影響並非本篇著墨的重點。空氣品質的議題固然龐大,基於民眾的立場,我們應該具備基礎認知以及對生活環境的關注,以因應大環境的變化。 即時空氣品質指標 (AQI) 空氣品質指標 (AQI) 是描述空氣品質的指數,全世界並沒有針對這個指標有一致的規定,各國可以依據不同的情況調整,制定適合的空氣指標,因此不同國家會有不同的 AQI 指標,例如加拿大與美國 AQI 指標就不太一樣。但指標都有一致共通點,當指標數值越高皆表示空氣品質越差。 目前臺灣環保署所採用的即時空氣品質指標 (AQI) 則是參考美國環境保護署標準而制定。 加拿大空氣品質指標 ( 參考來源 : 加拿大政府網站 ) 美國空氣品質指標 ( 參考來源 : 美國環境保護署 ) 臺灣空氣品質指標 臺灣環保署偵測 O 3 、 PM 2.5 、 PM 10 、 CO 、 SO 2 、 NO 2 等 6 個測項之即時副指標值,各副指標皆有不同的濃度計算方式,有興趣的人可連結至 臺灣環保署網站查詢 ( https://taqm.epa.gov.tw/taqm/tw/b0203.aspx ) ,計算後的濃度值對應到「污染物濃度與即時副指標值對照表」,取其中最大值為即時空氣品質指標,該汙染物則為指標污染物。 空氣品質監測資源 (1)   環保署的監測網提供空氣品質監測資料 ( https://taqm.epa.gov.tw/taqm/tw/ ) 。 (2)   民間自立架設監測之空氣品質監測資料 ( https://airbox.edimaxcloud.com/ ) 。