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系統均能夠在橫縱坐標標題正確顯示中文,但在termux中效果如下:
解決方案
從window或者當前系統中找到中文字體,或者前往https://github.com/dolbydu/font下載相應字體(該網站目前需要科學上網),本文以字體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無法顯示中文內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Matplotlib中rcParams使用方法
- python設置 matplotlib 正確顯示中文的四種方式
- Python數據分析應用之Matplotlib數據可視化詳情
- Python中matplotlib如何改變畫圖的字體
- 利用python繪制線型圖