termux中matplotlib無法顯示中文問題的解決方法
問題背景
在開始正文之前,感謝用戶名為憐索的朋友送給了我的博客2021年的第一個贊!
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import os
matplotlib.rcParams['xtick.direction'] = 'in'
matplotlib.rcParams['ytick.direction'] = 'in'
plt.rcParams['axes.unicode_minus'] = False # 用來正常顯示負號
#顯示中文
plt.rcParams['font.sans-serif'] = ['simhei']
x = np.linspace(-1,1,50)#從(-1,1)均勻取50個點
y = 2 * x
plt.plot(x,y)
plt.xlabel("吸光值")
plt.ylabel("濃度")
plt.show()
上述代碼在window和linux系統(tǒng)均能夠在橫縱坐標標題正確顯示中文,但在termux中效果如下:

解決方案
從window或者當前系統(tǒng)中找到中文字體,或者前往https://github.com/dolbydu/font下載相應字體(該網(wǎng)站目前需要科學上網(wǎng)),本文以字體simhai.ttf(黑體)為例;
將simhai.ttf文件移動到/data/data/com.termux/files/usr/lib/python3.9/site-packages/matplotlib/mpl-data/fonts/ttf目錄下;
修改matplotlibrc文件
#去掉注釋 font.family : sans-serif #去掉注釋,并在冒號后的值前添加前文提及的中文字體 font.sans-serif : STKaiti, Simhei........ #刪除matplotlib緩存 rm -rf ~/.cache/matplotlib
測試
還是上述代碼:
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import os
#設置坐標軸朝向
matplotlib.rcParams['xtick.direction'] = 'in'
matplotlib.rcParams['ytick.direction'] = 'in'
plt.rcParams['axes.unicode_minus'] = False # 用來正常顯示負號
#顯示中文
plt.rcParams['font.sans-serif'] = ['simhei']
x = np.linspace(-1,1,50)#從(-1,1)均勻取50個點
y = 2 * x
plt.plot(x,y)
plt.xlabel("吸光值")
plt.ylabel("濃度")
#由于termux沒有圖像界面,因此不能夠使用plt.show(),因此用plt.savefig()配合termux-open命令替代
plt.savefig("test2.png")
os.system("termux-open test2.png")
效果:

附加:matplotlib中文字體目錄
黑體:SimHei
微軟雅黑:Microsoft YaHei
微軟正黑體:Microsoft JhengHei
新宋體:NSimSun
新細明體:PMingLiU
細明體:MingLiU
華文新魏:STXinwei
華文行楷:STXingkai
華文隸書:STLliti
花紋琥珀:STHupo
華文彩云:STCaiyun
方正姚體:FZYaoti
方正舒體:FZShuTi
標楷體:DFKai-SB
華文仿宋:STFangsong
華文中宋:STZhongsong
華文宋體:STSong
華文楷體:STKaiti
華文細黑:STXihei
幼圓:YouYuan
隸書:LiSu
楷體_GB 2313:Kaiti_GB2313
仿宋_GB2313:FangSong_GB2313
仿宋:FangSong
到此這篇關于termux中matplotlib無法顯示中文問題的解決方法的文章就介紹到這了,更多相關termux matplotlib無法顯示中文內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
NumPy對數(shù)組按索引查詢實戰(zhàn)方法總結(jié)
數(shù)組的高級操作主要是組合數(shù)組,拆分數(shù)組,tile數(shù)組和重組元素,下面這篇文章主要給大家介紹了關于NumPy對數(shù)組按索引查詢的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2022-08-08
詳解Python如何精確控制asyncio并發(fā)運行多個任務
這篇文章主要為大家詳細介紹了Python如何精確控制asyncio并發(fā)運行多個任務,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2023-10-10
Python如何使用神經(jīng)網(wǎng)絡進行簡單文本分類
這篇文章主要介紹了Python如何使用神經(jīng)網(wǎng)絡進行簡單文本分類,幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下2021-02-02
使用python 計算百分位數(shù)實現(xiàn)數(shù)據(jù)分箱代碼
這篇文章主要介紹了使用python 計算百分位數(shù)實現(xiàn)數(shù)據(jù)分箱代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03

