Anaconda+5.0.0+JupyterLab+0.27.0+中matplotlib顯示中文標籤
阿新 • • 發佈:2019-01-02
Anaconda 5.0.0 JupyterLab 0.27.0 中 matplotlib 顯示中文標籤
安全的安裝Anaconda3 5.0.0 Windows x86_64
Anaconda 5.0.0 JupyterLab 0.27.0 中 matplotlib 顯示中文標籤
使用 matplotlib 繪製資料圖的時候可能會涉及到本地化顯示,例如匯入 locale 包
import locale
為了繪製資料圖,匯入 matplotlib.pyplot 包
import matplotlib.pyplot
本例中以日期為例,匯入 datetime 包
import datetime
為了以本地格式顯示日期,設定地區,此處並未具體制定地區,而是使用 locale.LC_ALL
,從返回值可以看到是簡體中文
locale.setlocale(locale.LC_ALL, '')
'Chinese (Simplified)_China.936'
演示資料
data = range(-7,7)
演示資料的標籤
label = [(datetime.datetime.now() + datetime.timedelta(days=i)).strftime('%A') for i in data]
建立一個數據圖
figure1 = matplotlib.pyplot.figure(figsize=(10 ,10))
新增一個座標軸
axes1 = figure1.add_subplot(1,1,1)
使用演示資料和演示標籤繪製柱狀圖
axes1.bar(data, data, tick_label=label)
<Container object of 14 artists>
儲存資料圖
figure1.savefig('1.png')
可以看到標籤都顯示成了空白方塊
為了正確顯示中文,需要替換資料圖繪製時所使用的字型
matplotlib.pyplot.rcParams['font.sans-serif']=['SimHei']
建立第二個資料圖
figure2 = matplotlib.pyplot.figure(figsize=(10,10))
為第二個資料圖新增座標軸
axes2 = figure2.add_subplot(1,1,1)
使用演示資料和演示標籤繪製柱狀圖
axes2.bar(data, data, tick_label=label)
<Container object of 14 artists>
儲存資料圖
figure2.savefig('2.png')
可以看到資料標籤顯示正常了,但是負數的資料前面又出現了空白方塊。
為此需要設定座標軸中不使用 unicode 顯示-
減號
matplotlib.pyplot.rcParams['axes.unicode_minus']=False
建立第三個資料圖
figure3 = matplotlib.pyplot.figure(figsize=(10,10))
為第三個資料圖新增座標軸
axes3 = figure3.add_subplot(1,1,1)
使用演示資料和演示標籤繪製柱狀圖
axes3.bar(data, data, tick_label=label)
<Container object of 14 artists>
儲存資料圖
figure3.savefig('3.png')
可以看到資料標籤和資料都正常了