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用fork来创建子进程注意事项
Jul 03 Python
Python使用百度翻译开发平台实现英文翻译为中文功能示例
Aug 08 Python
python切片(获取一个子列表(数组))详解
Aug 09 Python
详解如何减少python内存的消耗
Aug 09 Python
解决python 文本过滤和清理问题
Aug 28 Python
Python 写了个新型冠状病毒疫情传播模拟程序
Feb 14 Python
浅析matlab中imadjust函数
Feb 27 Python
Python tkinter实现简单加法计算器代码实例
May 13 Python
flask开启多线程的具体方法
Aug 02 Python
matplotlib源码解析标题实现(窗口标题,标题,子图标题不同之间的差异)
Feb 22 Python
python推导式的使用方法实例
Feb 28 Python
Python极值整数的边界探讨分析
Sep 15 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序列化/对象注入漏洞分析
2016/04/18 PHP
PHP 中使用ajax时一些常见错误总结整理
2017/02/27 PHP
ThinkPHP3.2框架使用addAll()批量插入数据的方法
2017/03/16 PHP
[JS]点出统计器
2020/10/11 Javascript
JavaScript 代码压缩工具小结
2012/02/27 Javascript
jQuery中detach()方法用法实例
2014/12/25 Javascript
jQuery实现冻结表头的方法
2015/03/09 Javascript
基于jQuery 实现bootstrapValidator下的全局验证
2015/12/07 Javascript
js判断当前页面在移动设备还是在PC端中打开
2016/01/06 Javascript
js事件驱动机制 浏览器兼容处理方法
2016/07/23 Javascript
详解webpack自动生成html页面
2017/06/29 Javascript
Vue cli3 库模式搭建组件库并发布到 npm的流程
2018/10/12 Javascript
详解Next.js页面渲染的优化方案
2019/01/27 Javascript
tsconfig.json配置详解
2019/05/17 Javascript
echarts大屏字体自适应的方法步骤
2019/07/12 Javascript
ant-design-vue中tree增删改的操作方法
2020/11/03 Javascript
python脚本设置系统时间的两种方法
2016/02/21 Python
Python网络编程之TCP套接字简单用法示例
2018/04/09 Python
python学生信息管理系统(初级版)
2018/10/17 Python
PyCharm更改字体和界面样式的方法步骤
2019/09/27 Python
Idea安装python显示无SDK问题解决方案
2020/08/12 Python
Python全局变量与global关键字常见错误解决方案
2020/10/05 Python
在终端启动Python时报错的解决方案
2020/11/20 Python
各大浏览器 CSS3 和 HTML5 兼容速查表 图文
2010/04/01 HTML / CSS
购买瑞典当代设计的腕表和太阳眼镜:TRIWA
2016/10/30 全球购物
Expedia印度尼西亚站:预订酒店、廉价航班和度假套餐
2018/01/31 全球购物
大学生学习自我评价
2014/01/13 职场文书
微笑服务演讲稿
2014/05/13 职场文书
公务员中国梦演讲稿
2014/08/19 职场文书
2015年元旦联欢晚会活动总结
2014/11/28 职场文书
幼儿园中秋节活动总结
2015/03/23 职场文书
2015年保管员工作总结
2015/04/30 职场文书
污水处理保证书
2015/05/09 职场文书
大学同学聚会感言
2015/07/30 职场文书
php微信小程序解包过程实例详解
2021/03/31 PHP
使用Ajax实现进度条的绘制
2022/04/07 Javascript