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 相关文章推荐
python冒泡排序算法的实现代码
Nov 21 Python
python中urlparse模块介绍与使用示例
Nov 19 Python
Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例
Apr 19 Python
django静态文件加载的方法
May 20 Python
Python迭代器与生成器用法实例分析
Jul 09 Python
pandas pivot_table() 按日期分多列数据的方法
Nov 16 Python
Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】
Dec 24 Python
对Python3 pyc 文件的使用详解
Feb 16 Python
Python中的十大图像处理工具(小结)
Jun 10 Python
python全局变量引用与修改过程解析
Jan 07 Python
numba提升python运行速度的实例方法
Jan 25 Python
Python基础之赋值,浅拷贝,深拷贝的区别
Apr 30 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
PHP5 安装方法
2006/10/09 PHP
php摘要生成函数(无乱码)
2012/02/04 PHP
php生成rss类用法实例
2015/04/14 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
Jquery 学习笔记(一)
2009/10/13 Javascript
ASP.NET jQuery 实例13 原创jQuery文本框字符限制插件-TextArea Counter
2012/02/03 Javascript
Extjs4 消息框去掉关闭按钮(类似Ext.Msg.alert)
2013/04/02 Javascript
js对table的td进行相同内容合并示例详解
2013/12/27 Javascript
将HTML的左右尖括号等转义成实体形式的两种实现方式
2014/05/04 Javascript
JavaScript中判断整数的多种方法总结
2014/11/08 Javascript
jQuery对象的length属性用法实例
2014/12/27 Javascript
使用iojs的jsdom库实现同步系统时间
2015/04/20 Javascript
个人总结的一些JavaScript技巧、实用函数、简洁方法、编程细节
2015/06/10 Javascript
四种参数传递的形式——URL,超链接,js,form表单
2015/07/24 Javascript
使用JQuery 加载页面时调用JS的实现方法
2016/05/30 Javascript
nodejs进阶(6)—连接MySQL数据库示例
2017/01/07 NodeJs
webpack配置sass模块的加载的方法
2017/07/30 Javascript
vue使用jsonp抓取qq音乐数据的方法
2018/06/21 Javascript
详解ES7 Decorator 入门解析
2019/02/18 Javascript
微信小程序实现拼图小游戏
2020/10/22 Javascript
前端vue如何使用高德地图
2020/11/05 Javascript
基于VUE实现简单的学生信息管理系统
2021/01/13 Vue.js
Python编程实现线性回归和批量梯度下降法代码实例
2018/01/04 Python
Python XML转Json之XML2Dict的使用方法
2019/01/15 Python
python GUI库图形界面开发之PyQt5窗口类QMainWindow详细使用方法
2020/02/26 Python
Python loguru日志库之高效输出控制台日志和日志记录
2020/03/07 Python
pyCharm 实现关闭代码检查
2020/06/09 Python
Sunglasses Shop德国站:欧洲排名第一的太阳镜网站
2017/08/01 全球购物
我们的节日清明节活动方案
2014/03/05 职场文书
小学综治宣传月活动总结
2014/07/02 职场文书
计算机科学与技术专业求职信
2014/09/03 职场文书
四风问题党员个人整改措施
2014/10/27 职场文书
2015初中政教处工作总结
2015/07/21 职场文书
pycharm无法导入lxml的解决办法
2021/03/31 Python
Spring Boot 排除某个类加载注入IOC的操作
2021/08/02 Java/Android
深入理解pytorch库的dockerfile
2022/06/10 Python