顯示具有 資料視覺化 標籤的文章。 顯示所有文章
顯示具有 資料視覺化 標籤的文章。 顯示所有文章

2026年5月3日 星期日

畫氣泡圖挑選性價比最佳的租賃 LLM

AWS BedRock 眾模型性價比 你挑了一個 LLM 租賃服務, 它提供很多模型。 該怎麼選? 我就拿 aws 的 bedrock 為例來解說資料視覺化 (散點圖/氣泡圖) 如何幫我們挑選性價比最佳的 LLM。 這些步驟應該也大致適用於比較整理其他 (來自同一家) 供應商的模型清單 - 只要你可以先建立一個 csv 檔列出該廠商提供的所有選項, 類似 我為 bedrock 建立的 bedrock-pricing.csv。

2026年1月22日 星期四

星際大戰角色同框頻率視覺化 (graphviz 飆速初體驗 / 用 jq 把 json 轉 csv / perl 的試算表模式)

星際大戰第四集人物同框頻率圖 想知道誰最常跟莉雅公主同框嗎? 不用人工計算,我們用幾行指令就能畫出來。 StarWars-social-network 這個專案整理了六集的星際大戰裡每一集內的角色同框頻率。 我們用 graphviz 把它畫出來, 順便學一下如何用 jq 把 json 格式轉成 csv, 以及 perl 處理 csv 檔的好用模式。

2024年4月20日 星期六

「電價貴不貴」之哪種圖最適合你的資料視覺化?

在臉書上看到一張圖: 比較一些國家的薪資中位數 vs 電價。 忍不住想用 scatplot 重畫一次。 我詢問資料出處, 可惜原繪圖者沒回答。 只搜尋到 "World Population Review" 的這兩頁: Median Income by Country 跟 Cost of Electricity by Country。 點表格右上方的 "csv" 即可索取、 從 email 收到 inc.csv 跟 ec.csv 這兩個 csv 檔。 用我的小程式 country-encode.py 幫兩檔各自加上 iso 三碼國碼、 依國碼排序、 用 join 合併、 用 libreoffice calc 打開、 手動整理一些小地方, 最後得到 inc-ec.csv。 再搭配 inc-ec.json 設定檔, 畫出 「電價 vs 收入中位數」 互動氣泡圖。 <== 點我!

2023年5月22日 星期一

讓資料視覺化告訴你何謂 mal-information

這是舊聞,不過很適合拿來當媒體識讀的教材。 2022 年 11/23 左右, 正值台灣武肺疫情高峰期間, 突然出現大量 「近二週致死率全球第三高」 的新聞。 這是 mal-information 的例子: 可能是事實, 但有惡意誤導的意圖。

2023年4月30日 星期日

簡單易上手的資料視覺化網站: rawgraphs

用 rawgraphs 畫的 treemap 設定 rawgraphs 的 mapping Rawgraphs 是一套很適合入門者的網頁版資料視覺化自由軟體。 不必下載軟體, 只需要到示範網址 ("Use it now!" 點下去)、 上傳你的 csv 檔、 決定你想畫哪一種圖、 決定要用哪些欄位, 馬上就幫你產生圖形。 這裡 有一篇入門的中文教學, 我就不再重複介紹基本的操作了。 以下是我的一些使用雜記。

2022年8月14日 星期日

繪製 (公共腳踏車租賃地點、公車站牌、...) 群聚(地)圖不必改程式碼

leaflet cluster map: 以台中公共腳踏車租賃地點為例 上個學期教資料視覺化, 其中一個主題是繪製客製地圖, 就做了這個例子: 台中公共腳踏車租賃地點。 像這種 marker 個數太多太密集的地圖, 需要用 cluster map 來做, 當訪客拉近 (zoom in) 時, 才把一個 cluster 拆成更多個小的 clusters。

雖然 umap 也可以製作 cluster map (例: 清冠一號中醫診所地圖) 不過 umap 只能顯示每個 marker 的名稱; 用我的小程式則可以顯示所有 properties 的完整資訊。 請先下載 程式碼, 然後用瀏覽器打開其中的 index.html, 拉近拉遠測試一下。 如果是 firefox, 要先到 about:config 裡面把 security.fileuri.strict_origin_policy 設成 false; 如果是 chromium, 必須先關掉所有 chromium 視窗, 再從命令列上重新啟動: chromium --allow-file-access-from-files 。 詳見 javascript Can Read Local Files。

2022年7月4日 星期一

UMAP 筆記

Uniform Manifold Approximation and Projection (UMAP) 是一個用來降低資料維度的演算法。 如果你把它想成是一個副程式, 它所接收的主要輸入參數以及輸出的資料跟 t-SNE 一模一樣: 輸入一張很大的試算表 (例如幾百或幾千個數字欄位、 幾萬甚至幾十萬列), 它可以產生一張新的試算表, 裡面只剩少少幾個數字欄位 (個數由你指定), 這些新欄位的值可以說是原始許多欄位的 "摘要", 如果欄位數夠少 (例如剩下 2 或 3), 你甚至可以把資料畫在螢幕上或呈現在3度空間中, 或許用肉眼就可以觀察出幾萬/幾十萬個點如何分佈在幾個明顯的群 (cluster) 當中。 我在 t-SNE 幫你看見高維度數值資料 以及 撞臉偵測器 兩篇文章當中有實作兩個例子, 可以直接在網頁上玩玩看。 UMAP 比 t-SNE 的速度更快、 效果更好。 我還沒寫程式, 先筆記一下搜尋到的連結。

2021年5月22日 星期六

揪出手機/平板上的腫脹軟體: android app 佔用空間大小散點圖

android app 佔用空間 (對數標尺) android app 佔用空間 (線性標尺) [25/10/02 更新] 在我的三星平板上, 自己可以安裝/刪除的軟體當中, line 是腫脹軟體 (bloatware) 第一名。 那你的手機呢?

2020年2月1日 星期六

scatplot: 一張試算表, 散點圖畫到飽

scatplot web app 範例:陳時中團隊的 covid 19 防疫成績 大選過後, 一直想畫 「X黨 vs Y黨在各縣市得票比例對照圖」。 過年時節在家躲疫情, 終於有時間完成了一個小專案放到 github 上: scatplot 。 也請參考舊文 「三種方式產生 scatter plot / bubble chart」。 不只是程式宅, 我相信政黨智囊團、 財報型股民、 社會科學家、 自然科學家.. 任何需要以視覺化方式理解數值資料的朋友們也會喜歡這幾個 demo 網頁: 希臘式優格比較表、 揪出手機上的腫脹軟體、 LLM 比較表 br26、 LLM 比較表 aa25、 全球各國電價比較表、 陳時中團隊的 covid 19 防疫成績、 資料視覺化破解源自黃珊珊的假消息、 股票財報指標圖、 新聞頻道轉台運動、 2018 兩政黨各縣市得票比例對照圖、 太陽系天然衛星軌道常數、 [2022/12 後續有再補充與更新較新的圖片與文章連結]。

2018年12月11日 星期二

拿公投統計資料學 pandas

以前我都用 perl 處理文字資料, 例如 regexp 跟 csv 句型 都很好用。 但是現在大家都用 python, 我當然也要跟著趕一下流行啊~~ 處理試算表類型的資料時, python 程式設計師最常用 pandas 函式庫。 它也是玩機器學習或資料科學一定要學東西。 繪圖的話, matplotlib 跟 plotly 都很好用。 就讓我們拿中華臺北人很有感的十項案公投結果統計資料來當 pandas / matplotlib / plotly 的入門範例吧!

2018年9月11日 星期二

三種方式產生 scatter plot / bubble chart

太陽系較大的一些衛星的軌道半長軸及公轉週期 資料視覺化的 常用圖形類別 當中, 我最喜歡用 scatter plot (散點圖) 以及它的變形 bubble chart (氣泡圖), 因為 scatter plot 能用位置 (X-Y 座標) 及顏色把一張試算表的兩個數值欄位及一個類別欄位同時呈現在一張圖上; 而 bubble chart 則再補上 「圓圈大小」, 較 scatter plot 更多展現出一個數值欄位。 為了畫 bubble chart, 暑假我繞了好多遠路。 最後找到最簡單的方法, 把一些重點提示摘要在這篇裡。 從這篇快速起步之後, 每一種方法當然都還有更多本文未提及的參數可以調整, 請自行搜尋/查手冊。 程式碼及資料檔 (satellites.csv) 放在 github 的 ckhung/scatplot; 範例圖的物理意義請見 重新發現克卜勒第三定律。

2018年9月2日 星期日

資料視覺化幫我重新發現克卜勒第三定律

如果你沒空看 18 分鐘的 TED 演講 Hans Rosling 用前所未有的方法詮釋數字統計, 那麼至少要欣賞一下這個 4 分鐘的短片 「200 年, 200 個國家」:

資料視覺化可以幫我們從枯燥的數字當中, 一眼看出奇特、 令人驚訝的現象。 而且即使我們手邊沒有任何特殊的資源, 還是可以玩出一些有趣的東西。 今天我們要重新發現 (天文學上的) 克普勒第三定律。

2017年7月20日 星期四

資料科學/機器學習的好用入門工具 t-SNE 幫你看見高維度數值資料

手寫數字測試 t-sne 演算法 想像你有一個試算表, 裡面有幾十個數值欄位, 還有幾個 「分類用」 的字串欄位。 你想問: 如果我拿到一筆資料的所有數值欄位, 是否可以猜出它屬於哪一個分類? 比方說, 已知一個人的身高/體重/BMI/心跳速率/血壓/睡眠時間/肝指數GOT、GPT/... 是否可以猜出他比較可能是哪一種血型/星座/生肖/職業/...? (有點毛毛的例子, 不過也正好提醒大家: 現代的趨勢就是這樣 -- 你的隱私, 就是政府或大企業手中的大數據。) 這是機器學習領域裡面典型的分類問題 (classification)。 如果資料量不大 (例如只有幾百筆或幾千筆資料、 每筆只有幾十個或幾百個欄位), 可能不足以拿來訓練複雜的人工智慧演算法; 又或者你有大量的資料, 但想要在全力運算之前小量取樣, 並且用一個操作簡單運算量較低的演算法、 以不是很精確但可以視覺化的方式迅速了解你的資料長相。 這時, 屬於非監督式學習類型的 t-SNE 演算法就非常適合拿來用肉眼觀察資料的群聚/分類現象。