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程序运行效率的6个方法
Mar 31 Python
使用Python来开发Markdown脚本扩展的实例分享
Mar 04 Python
Python查询IP地址归属完整代码
Jun 21 Python
使用C++扩展Python的功能详解
Jan 12 Python
django1.11.1 models 数据库同步方法
May 30 Python
python将一个英文语句以单词为单位逆序排放的方法
Dec 20 Python
pytorch如何冻结某层参数的实现
Jan 10 Python
python3连接mysql获取ansible动态inventory脚本
Jan 19 Python
python 插入日期数据到Oracle实例
Mar 02 Python
PyQt5实现简单的计算器
May 30 Python
Python 实现简单的客户端认证
Jul 29 Python
Pandas DataFrame求差集的示例代码
Dec 13 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
PHPwind整合最土系统用户同步登录实现方法
2010/12/08 PHP
php curl常见错误:SSL错误、bool(false)
2011/12/28 PHP
PHP中4种常用的抓取网络数据方法
2015/06/04 PHP
实例说明js脚本语言和php脚本语言的区别
2019/04/04 PHP
PHP下载文件函数与用法示例
2019/09/27 PHP
关于Laravel-admin的基础用法总结和自定义model详解
2019/10/08 PHP
详解no input file specified 三种解决方法
2019/11/29 PHP
Javascript学习笔记8 用JSON做原型
2010/01/11 Javascript
JS中处理与当前时间间隔的函数代码
2012/05/23 Javascript
详解Javascript动态操作CSS
2014/12/08 Javascript
让浏览器崩溃的12行JS代码(DoS攻击分析及防御)
2016/10/10 Javascript
jQuery插件扩展操作入门示例
2017/01/16 Javascript
jQuery获取table下某一行某一列的值实现代码
2017/04/07 jQuery
解决webpack -p压缩打包react报语法错误的方法
2017/07/03 Javascript
Vue组件实例间的直接访问实现代码
2017/08/20 Javascript
Vue仿今日头条实例详解
2018/02/06 Javascript
vue实现微信分享朋友圈,发送朋友的示例讲解
2018/02/10 Javascript
JS伪继承prototype实现方法示例
2018/06/20 Javascript
vue实例中data使用return包裹的方法
2018/08/27 Javascript
解决vue中虚拟dom,无法实时更新的问题
2018/09/15 Javascript
详细讲解如何创建, 发布自己的 Vue UI 组件库
2019/05/29 Javascript
node中使用log4js4.x版本记录日志的方法
2019/08/20 Javascript
原生JS实现多条件筛选
2020/08/19 Javascript
用map函数来完成Python并行任务的简单示例
2015/04/02 Python
在GitHub Pages上使用Pelican搭建博客的教程
2015/04/25 Python
pyqt 多窗口之间的相互调用方法
2019/06/19 Python
浅析PEP570新语法: 只接受位置参数
2019/10/15 Python
python topk()函数求最大和最小值实例
2020/04/02 Python
Pytorch数据拼接与拆分操作实现图解
2020/04/30 Python
Expedia马来西亚旅游网站:廉价酒店,度假村和航班预订
2016/07/26 全球购物
雅诗兰黛旗下走天然植物路线的彩妆品牌:Prescriptives
2016/08/14 全球购物
Spartoo荷兰:鞋子、包包和服装
2018/07/12 全球购物
比利时家具购买网站:Home24
2019/01/03 全球购物
来自南加州灵感的工作和娱乐服装:TravisMathew
2019/05/01 全球购物
市场部规章制度
2014/01/24 职场文书
2019银行竞聘书
2019/06/21 职场文书