視覺化模組型錄:十七種看見台灣數據的方法

Taiwan.md 的文章視覺化模組活範例——用真實的台灣居住與人口數據,把每一種 tw-* 視覺模組渲染一次,搭配 graph.md 的語法與設計原則一起看。

視覺化模組型錄:十七種看見台灣數據的方法
圖片: Heeheemalu · CC BY-SA 4.0 · 原始來源

30 秒概覽: 這一頁是 Taiwan.md 視覺化系統的「活範例」——把十七種文章內視覺模組各渲染一次,全部用真實的台灣數據(房價所得比、國宅、高齡化、公投)。它是編輯指南 graph.md 的搭檔:graph.md 講「何時用哪種、怎麼做才好、語法怎麼寫」,這一頁讓你直接看到「長什麼樣」。 每個模組都是純 HTML/SVG 渲染的,所以人、螢幕閱讀器、Google、AI 爬蟲都讀得到同一份數據——這正是我們選擇靜態視覺化而非互動圖表的理由。

寫一篇談數字的文章時,最怕的是把資料寫成一段一段的數字堆疊,讀者讀到第三個百分比就放空了。視覺化的工作,是把「一段密集的數字 prose」逆熵成「一眼可讀的結構」。

但 Taiwan.md 的視覺化有一條別人沒有的紀律:我們只做「讓 LLM 也讀得懂」的視覺化。一張用 D3 或 Canvas 畫的互動圖表很炫,但 GPTBot、PerplexityBot、ClaudeBot 這些 AI 爬蟲不會跑 JavaScript,對它們來說那張圖是一片空白。而我們用 semantic HTML 跟 inline SVG 做的圖,數據就在原始碼裡,AI 在六種語言裡都讀得到、引用得到台灣的第一人稱數據。讓 LLM 讀得懂的視覺化,就是主權的視覺化。

下面十七個模組,從最簡單的「一個大數字」到「縣市磚圖」,依序展示。語法寫法跟設計原則的完整版本在 graph.md,這裡只放一句「這是什麼、什麼時候用」。

數據大字 tw-figure

最簡單也最有力的一種:把一個戲劇性的數字放到最大,前後對照講一個轉化。適合當開門見山的「sledgehammer stat」。

6.7 萬87 萬 / 坪
台北成功國宅 1985 年的滯銷配售價,到 2026 年的房仲均價——同一個門牌,約 13 倍
資料來源:實價登錄房仲平台(成功國宅)

數據組 tw-stat

當一個段落塞了三四個並列的關鍵數字,與其寫成一句長句,不如排成一列卡片,讓讀者一眼掃完。

174,891 戶
政府直接興建的國宅
1976–1999
39 萬餘戶
廣義國宅總量
至 2015 年廢止
84.4%
全台自有住宅率
2024 年

對比卡 tw-versus

兩種制度、兩種立場、或前後兩個狀態的逐點對照。左暖色、右冷色,中間一個「vs」,讓差異一行一行讀下來。

台灣國宅
vs
香港居屋
政府補貼、便宜賣給住戶
政府補貼、便宜賣給住戶
住滿一年即可全市價轉售
公開市場轉售須先「補地價」
增值幾乎全歸個人
增值按原折扣比例回收公庫
公共存量一次性流失
公共讓利收得回來

比例條 tw-bars

少量類別的數值比較或排名,水平條的長度會自動依數值縮放,最大值撐滿。資料模組記得在最後加一列 來源:,會自動變成下方的來源標註。

全國 2014
8.41 倍
全國 2024
10.76 倍
台北 2024
16.60 倍 歷史峰值

資料來源:內政部不動產資訊平台、政大不動產研究中心

方格圖 tw-waffle

部分對全體的比例組成,一百格代表一百趴,比圓餅圖更直覺——你可以真的數格子。適合「各類別佔多少」加總約等於 100 的數據。

維也納的住宅組成(2023)
市營社宅 21.9限利潤社宅 21.4自有住宅 20.4私人租賃 36.3

資料來源:維也納市政府(Stadt Wien)住宅統計

政策軸 tw-timeline

制度或政策的關鍵節點脈絡,用節點時間軸串起來。注意這是「視覺輔助」,跟正文小標題不能用編年體(「1975 年…」當標題)是兩回事。

1975
國宅條例上路
政府蓋了賣,設「買家資格」閉環,補貼跑不掉
2002
那道牆被拆掉
修法取消買家資格限制,國宅住滿一年可賣給任何人
2015
國宅條例廢止
官方理由:自有住宅率已 85%,改走只租不售的社宅
2026
桃園把閘門裝回
可負擔住宅:轉售不得超過原承購價

引語卡 tw-quote

當一句話就能代表整篇的核心張力,把它放大成引語卡。引文不用自己加「」,模組會加。引語必須是逐字、可查證的。

市價 3000 萬元的房子,變成 6000 至 7000 萬元的房子……劫貧濟富,國家出錢幫有錢人改建房子
林智群,律師,2025 年批「國家出錢替成功國宅都更」提案

來源條 tw-source

把一段分析的資料來源集中成一個低調的 chip,放在段落旁邊。可信度是策展的一部分——台灣數位媒體常常忘了標來源,這是我們可以做得不一樣的地方。

內政部不動產資訊平台、實價登錄、政大不動產研究中心、立法院公報、香港房屋委員會

說明盒 tw-note

數據文章的可信度有一半在「你怎麼算的」。報導者在資料新聞裡用【說明】區塊交代計算方式、用(註)標記更正,我們把這個公約做成模組。第一列寫 說明方法更正更新 之一,其餘每列自成一段。

折線圖 tw-line

四個以上時間點的趨勢,用 inline SVG 畫成折線,y 軸的上下限會標出來讓讀者看見範圍。最關鍵的是——它會自動產生一份隱藏的資料表,讓螢幕閱讀器跟 AI 爬蟲讀到原始數據。圖是給人看的,表是給機器讀的,兩者同源。

全國房價所得比的十年攀升(倍)
10.768.412014201820242014 起點 8.41全國
全國房價所得比的十年攀升(倍)(基準線:2014 起點 = 8.41)
全國
20148.41
20169.32
20188.57
20209.2
20229.61
202410.76

資料來源:政大不動產研究中心、內政部不動產資訊平台

折線圖也支援基準線:加一列 基準:標籤 | 值,會畫成虛線、沒有端點、只有一個標籤,跟實測序列在視覺上分得開。讀者不會把一條固定門檻誤讀成被測量出來的數據。

斜率圖 tw-slope

當你只有「兩個時間點」,折線圖會浪費掉中間的空白。斜率圖直接讓兩端連線的傾斜度說話,誰漲得兇、誰追過誰,一眼看完。標籤開頭加 * 可以強調某一列,其餘列自動退灰當脈絡。

房價所得比:十年之間誰漲得兇(倍)
20142024全國 8.4110.76台北 12.016.60
房價所得比:十年之間誰漲得兇(倍)
20142024
全國8.4110.76
台北12.016.60

資料來源:內政部不動產資訊平台、政大不動產研究中心

熱力圖 tw-heatmap

地區×指標、或年×類別的矩陣比較。每一欄各自正規化成色深,數字越大越暖。它本身就是一個 HTML 表格,所以天生就是 AI 可讀的——這也是熱力圖在我們系統裡比「一張彩色圖片」好的原因。

縣市房價所得比(倍)房貸負擔率(%)
台北16.6063.9
新北13.0356.9
台中11.1148.0
桃園9.040.0

資料來源:內政部不動產資訊平台

點圖 tw-dot

長條圖比「量」,點圖看「分布」:所有的點落在同一把尺上,你看得到誰擠在一起、誰是離群值。每列一個值就是 dot strip;給兩個值會畫成「從這裡到那裡」的區間。* 一樣可以強調。

高齡化率的兩極:最年輕到最老的縣市(65 歲以上占比,%)
新竹縣
15.08 全台最年輕
桃園
16.72
台中
17.40
新北
19.95
台南
20.48
高雄
20.79
嘉義縣
24.11 全台最老
台北
24.18 六都最老

資料來源:內政部戶政司,2025 年底

堆疊條 tw-stack

方格圖適合「一個整體」的組成;堆疊條適合跨好幾列比較組成——每列自動正規化成 100%,段落夠寬會直接把數值標在色塊裡。

三場核能公投:同意 vs 不同意(有效票占比 %)
同意不同意
2018 以核養綠
59
41
2021 重啟核四
47
53
2025 核三延役
74
26
三場核能公投:同意 vs 不同意(有效票占比 %)
公投同意不同意
2018 以核養綠5941
2021 重啟核四4753
2025 核三延役7426

資料來源:中央選舉委員會三場公投官方審定結果

金字塔 tw-pyramid

背對背的長條,左右各一個陣營,中間共用標籤,是人口學的經典圖型。這裡用它看六個縣市的「頭重腳輕」:左邊是小孩,右邊是老人,兩邊一比,高齡化就不是一個抽象的百分比了。

頭重腳輕:六縣市的幼年 vs 老年人口占比(%)
0–14 歲
65 歲以上
14.80
新竹縣
15.08
13.13
桃園
16.72
12.75
台中
17.40
11.97
台北
24.18
9.28
基隆
22.28
8.27
嘉義縣
24.11

資料來源:內政部戶政司 2025 年底;幼年占比由高齡化率 ÷ 老化指數 × 100 推算

縣市磚圖 tw-tiles

台灣的 choropleth 地圖有兩個老問題:花蓮台東面積大到搶走視覺重量,AI 手繪的台灣形狀常常變成「介於橄欖與馬鈴薯之間」。磚圖把 22 縣市排成等大的磚塊(佈局寫死在系統裡,照真實的相對位置),每塊磚一樣重,數字直接寫在磚上。形狀永遠是對的,因為根本不畫形狀。

全台 22 縣市高齡化率(65 歲以上人口占比,%)
連江17.14
台北24.18
基隆22.28
桃園16.72
新北19.95
宜蘭20.77
金門19.69
新竹市16.16
新竹縣15.08
苗栗20.23
台中17.40
花蓮21.52
彰化20.37
南投22.66
澎湖21.03
雲林21.76
嘉義市19.90
嘉義縣24.11
台南20.48
高雄20.79
屏東21.84
台東20.93
15.0824.18
全台 22 縣市高齡化率(65 歲以上人口占比,%)
縣市數值
台北24.18
新北19.95
桃園16.72
台中17.40
台南20.48
高雄20.79
基隆22.28
新竹市16.16
嘉義市19.90
新竹縣15.08
苗栗20.23
彰化20.37
南投22.66
雲林21.76
嘉義縣24.11
屏東21.84
宜蘭20.77
花蓮21.52
台東20.93
澎湖21.03
金門19.69
連江17.14

資料來源:內政部戶政司,2025 年底

單位圖 tw-iso

「174,891 戶」是一個讀過就忘的數字;九個可以用手指數的圓點不是。單位圖把大數字換成「一個符號=多少」的可數單位,這是報導者做遠洋漁業專題時的心法:把無感的龐大數字,換成民眾有感的單位。符號只用整數(不切半個),精確值寫在旁邊。

政府這 24 年蓋了多少國宅
政府直接興建
174,891 戶 1976–1999
廣義國宅總量
390,000 餘戶 至 2015 年廢止

● ≈ 20,000 戶

資料來源:行政院廢止國民住宅條例新聞稿

怎麼用這些模組

每個模組都是在文章的 Markdown 裡寫一段 ```tw-* 區塊,用 | 分欄,建置時自動轉成上面看到的樣子——作者不用寫任何 HTML 或 JavaScript。完整的語法、什麼時候該用哪一種、色彩跟座標軸怎麼做才不會誤導、以及發布前的視覺化檢查清單,都在 graph.md

這套系統參考了視覺敘事媒體 The Pudding 的編輯哲學——問題先於資料、結論要明確、標註是主角——但長成了適合 Taiwan.md 自己的器官:靜態、多語、AI 可讀。設計的完整脈絡寫在 視覺化系統設計報告

想看這些模組在一篇真實深度文章裡怎麼穿插敘事,讀 國宅與居住正義——本頁的數據大多來自那篇的研究。

延伸閱讀

參考資料

圖片來源

本文使用 1 張創用 CC 授權圖片,cache 於 public/article-images/society/

關於此文章 本文章由社群協作,並經 AI 輔助撰寫與審查。
資料視覺化 居住正義 住宅政策 開放資料
分享