如何溝通資料:互動式圖表及 Python
使用 Dash 與 Python 複製一個 Gapminder 視覺化
The world is discussed in terms of feelings and ideologies rather than as an area of knowledge.
Hans Rosling
在如何溝通資料:互動式圖表及 R 語言中我們以 Plotly、Shiny 與 R 語言複製了一個輕量的互動 Gapminder 圖表,能夠讓使用者操控元件的氣泡圖,具備一些常見的使用者介面工具:
- Hover:滑鼠游標移至圖形上會提示資訊
- Zoom In/Out:將圖形放大或縮小
- Filter:選取部分資料觀察
- Slider:單選呈現不同年份的資料快照或以動畫依時序播放
- Checkbox List:篩選呈現不同洲別的資料點
這篇文章我們打算使用 Dash 與 Python 來複製同一個互動 Gapminder 圖表。
摘要
本文首先瀏覽最終成品、接著簡介 Plotly 團隊所開發的 Dash 產品、取得 Gapminder 摘錄版本資料、安裝 Dash、Dash 網頁應用程式的組成、繪製氣泡圖、加入時間軸滑桿篩選年份、加入複選框清單或下拉式選單篩選洲別與如何在 Heroku 部署 Dash 網頁應用程式。
瀏覽最終成品
我們希望利用 Dash 與 Python 複製出 Gapminder 視覺化,點選連結可以在向下閱讀前先瀏覽最終成品:https://dash-gapminder.herokuapp.com
關於 Plotly 與 Dash
Plotly 是來自加拿大蒙特婁的新創公司,這個團隊為 R 語言,Python、JavaScript 開發並且維護極受歡迎的開源互動視覺化模組與套件,主要產品包含 Plotly.js、Plotly.R、Plotyly.py 與 Dash。
Dash 是建構於 Plotly.js、React.js 與 Flask 之上的 Python 網頁應用程式框架,能夠將常見的使用者介面元件包含像是下拉式選單、滑桿或圖形與 資料分析應用快速地連結起來,讓以 Python 為主的資料科學團隊不需要 JavaScript 也可以建立出具備高度互動性的圖表與儀表板。