如何溝通資料:互動式圖表及 Python

使用 Dash 與 Python 複製一個 Gapminder 視覺化

Yao-Jen Kuo
數聚點文摘

--

Photo by TED.com

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.jsFlask 之上的 Python 網頁應用程式框架,能夠將常見的使用者介面元件包含像是下拉式選單、滑桿或圖形與 資料分析應用快速地連結起來,讓以 Python 為主的資料科學團隊不需要 JavaScript 也可以建立出具備高度互動性的圖表與儀表板。

取得 Gapminder 資料

--

--