matplotlib 繪圖 中文亂碼及無法顯示|Python|Kiwi Half 半熟奇異果

Kiwi Half 半熟奇異果
3 min readFeb 10, 2023

--

Kiwi Half 半熟奇異果

說明

Matplotlib 在沒有支援中文字型的情況下,繪圖時會出現中文亂碼、方格或無法顯示部分符號的問題,我們可以到 matplotlib 資料夾中手動安裝自己想要 (非內建) 的中文字體,或是以內建的微軟正黑體 Microsoft JhengHei 進行應用,解決中文問題 。

以下由 matplotlib 繪圖的初始參數設定 rcParams 設定微軟正黑體 Microsoft JhengHei 作為解決中文無法顯示的字體,同時解除負號無法顯示的狀況。

中文顯示問題

Code

Step1. 安裝套件

import matplotlib.pyplot as plt
import numpy as np

Step2. 解決繪圖的中文亂碼

# 中文亂碼問題
def plt_chinese():
plt.rcParams['font.sans-serif'] = ['Microsoft JhengHei'] # 修改中文字體
plt.rcParams['axes.unicode_minus'] = False # 顯示負號

Step3. 建立隨機資料 + 繪圖 + 檢視內建字體

# 建立資料
def data():
x = np.random.randint(1, 50, 10) # 10 random data from 1 to 50
y = np.random.randint(-20, 0, 10) # 10 random data from 1 to 50
# y = np.random.randn(10) # standard normal distribution random data

return x, y

# 繪圖
def plt_plot(x, y, title = '繪圖'):
plt_chinese
# plt.xkcd()

plt.plot(
x, y, # data
'r', # color
alpha = 0.5 # 透明度
)
# 圖說明
plt.title(title)
plt.xlabel('x')
plt.ylabel('y')

plt.show()

# 檢視內鍵字體
def font_list():
for f in font_manager.fontManager.ttflist:
print(f.name)

Step4. 執行

x,y  = data()
plt_plot(x, y)
解決中文亂碼問題

--

--

Kiwi Half 半熟奇異果
Kiwi Half 半熟奇異果

Written by Kiwi Half 半熟奇異果

Kiwi Half 半熟奇異果|環境。資料科學。經濟|失憶前留個筆記

No responses yet