ChatGPT 資料分析產生的圖表,中文字顯示成亂碼。 可以透過上傳支援中文的字體 TTF 檔案解決。
Photo by Nirzar Pangarkar on StockSnap |
問題狀況
上傳試算表檔案到 ChatGPT,機器人資料分析後產生圖表內的中文字亂碼。(如下圖)
解決方式
1. 上傳支援中文的字體檔 (TTF,英文全稱是 TrueType Font file)
可前往 Noto Sans Traditional Chinese - Google Fonts 下載字體檔案。我試過也可以使用「微軟正黑體」 TTF 檔。
2. 要求機器人依據上傳的字體檔案,重新產生圖表。提示 (prompt) 範例:
中文變成亂碼,請改用這個字體檔,重新產生圖表
3. 修正後的圖:
可以看到原本圖表標籤的中文恢復正常,而不是像豆腐方框字的亂碼。
4. 有時候會遇到如果對談時間比較久,即使上傳 TTF 字體檔案也無法順利顯示圖表,則建議重啟新的對話。
問題詳細原因
展開 ChatGPT 程式碼,可以看到使用 Python 視覺化的 Matplotlib 函示庫。搜尋網路資料,也會發現有同樣中文字顯示成亂碼的問題。
Matplotlib 預設使用 FreeType 渲染引擎來處理 TrueType 字體渲染,所以 TTF 字體在跨平台有比較好的相容性。而 Matplotlib 對 OTF 字體的支援較為不足。
實體測試上傳 OTF 檔案到 ChatGPT 也經常遇到錯誤,建議直接使用 TTF 檔案。
參考資料
- 只要 3 步驟!用 ChatGPT 生成中文統計圖表(Advanced data analysis) - Dean Lin - Medium
- 如何在Win 10解決matplotlib中文顯示的問題? - Power BI 數據工坊
- 一個地球人在臺北: Matplotlib 中文標籤問題
- Dependencies — Matplotlib 3.9.2 documentation
- MEP14: Text handling — Matplotlib 3.10.0.dev902+g61995eef64 documentation
- Support .otf fonts · Issue #1668 · matplotlib/matplotlib · GitHub
- Using otf fonts in matplotlib - Community / matplotlib-users - Matplotlib
- 【三個常見字型】TTF. / OTF. / TTC. 副檔名的差異 - 麥思印刷整合 MINDS | 紙の專家 | 設計の溝通者 「一站式」
備註
範例圖表使用 農業統計視覺化查詢網的「雞蛋產地價格及日均產蛋箱數」資料集
留言
張貼留言