termux中matplotlib无法显示中文问题的解决方法


Posted in Python onJanuary 11, 2021

问题背景

在开始正文之前,感谢用户名为怜索的朋友送给了我的博客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中效果如下:

termux中matplotlib无法显示中文问题的解决方法

解决方案

从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")

效果:

termux中matplotlib无法显示中文问题的解决方法

附加: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无法显示中文内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python3图片转换二进制存入mysql
Dec 06 Python
python分割文件的常用方法
Nov 01 Python
Python中的__new__与__init__魔术方法理解笔记
Nov 08 Python
对pandas中to_dict的用法详解
Jun 05 Python
python查看列的唯一值方法
Jul 17 Python
利用Pycharm断点调试Python程序的方法
Nov 29 Python
Python告诉你木马程序的键盘记录原理
Feb 02 Python
Flask框架学习笔记之消息提示与异常处理操作详解
Aug 15 Python
python中@property和property函数常见使用方法示例
Oct 21 Python
TensorFlow实现自定义Op方式
Feb 04 Python
使用keras实现非线性回归(两种加激活函数的方式)
Jul 05 Python
pytorch 使用半精度模型部署的操作
May 24 Python
完美解决Pycharm中matplotlib画图中文乱码问题
Jan 11 #Python
Python脚本调试工具安装过程
Jan 11 #Python
装上这 14 个插件后,PyCharm 真的是无敌的存在
Jan 11 #Python
Jupyter Notebook 远程访问配置详解
Jan 11 #Python
jupyter notebook远程访问不了的问题解决方法
Jan 11 #Python
matplotlib绘制鼠标的十字光标的实现(自定义方式,官方实例)
Jan 10 #Python
解决selenium+Headless Chrome实现不弹出浏览器自动化登录的问题
Jan 09 #Python
You might like
利用PHP和AJAX创建RSS聚合器的代码
2007/03/13 PHP
php连接Access数据库错误及解决方法
2013/06/20 PHP
解决thinkphp5未定义变量会抛出异常,页面错误,请稍后再试的问题
2019/10/16 PHP
Javascript下的keyCode键码值表
2007/04/10 Javascript
jQuery源码分析-03构造jQuery对象-工具函数
2011/11/14 Javascript
javascript中定义类的方法详解
2015/02/10 Javascript
JQuery插件Quicksand实现超炫的动画洗牌效果
2015/05/03 Javascript
jQuery对JSON数据进行排序输出的方法
2015/06/24 Javascript
简介alert()与console.log()的不同
2015/08/26 Javascript
JS中如何比较两个Json对象是否相等实例代码
2016/07/13 Javascript
Angular JS数据的双向绑定详解及实例
2016/12/31 Javascript
requirejs按需加载angularjs文件实例
2017/06/08 Javascript
JavaScript异步加载问题总结
2018/02/17 Javascript
深入浅析var,let,const的异同点
2018/08/07 Javascript
js实现移动端轮播图
2020/12/21 Javascript
django中使用vue.js的要点总结
2019/07/07 Javascript
Vue.js下拉菜单组件使用方法详解
2019/10/19 Javascript
Python中使用md5sum检查目录中相同文件代码分享
2015/02/02 Python
Python环境变量设置方法
2016/08/28 Python
使用python脚本实现查询火车票工具
2018/07/19 Python
pyqt5 从本地选择图片 并显示在label上的实例
2019/06/13 Python
对Python中画图时候的线类型详解
2019/07/07 Python
100行Python代码实现每天不同时间段定时给女友发消息
2019/09/27 Python
浅谈matplotlib 绘制梯度下降求解过程
2020/07/12 Python
Elemis美国官网:英国的第一豪华护肤品牌
2018/03/15 全球购物
世界上最大的高分辨率在线图片库:Alamy
2018/07/07 全球购物
荷兰照明、灯具和配件网上商店:dmlights
2019/08/25 全球购物
应届生法律顾问求职信
2013/11/19 职场文书
军训自我鉴定
2013/12/14 职场文书
2014年文学毕业生自我鉴定
2014/04/23 职场文书
说明书格式及范文
2014/05/07 职场文书
员工试用期自我鉴定范文
2014/09/15 职场文书
名人演讲稿范文
2014/09/16 职场文书
2015年电气技术员工作总结
2015/07/24 职场文书
大学生村官工作心得体会
2016/01/23 职场文书
VMware虚拟机安装 Windows Server 2022的详细图文教程
2022/09/23 Servers