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

 更新时间:2021年01月11日 10:06:52   作者:彩克拉夫斯基  
这篇文章主要介绍了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无法显示中文内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python Mysql数据库操作 Perl操作Mysql数据库

    Python Mysql数据库操作 Perl操作Mysql数据库

    python对mysql数据库的一些操作实现代码
    2009-01-01
  • Python语法学习之进程间的通信方式

    Python语法学习之进程间的通信方式

    进程在创建之后是没有办法获取返回值的,但有的时候两个进程之间需要进行相互之间的配合才能完成工作,这就需要通信的帮助。本文主要介绍了Python中进程间的通信方式,需要的可以了解一下
    2022-04-04
  • Python Pyecharts绘制箱线图详解

    Python Pyecharts绘制箱线图详解

    箱形图(Box-plot)又称为盒须图、盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图。因形状如箱子而得名。本文将通过Python Pyecharts来绘制一些箱线图,需要的可以参考一下
    2022-03-03
  • python中 * 的用法详解

    python中 * 的用法详解

    这篇文章主要介绍了python中 * 的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • python3 re返回形式总结

    python3 re返回形式总结

    在本篇文章里小编给大家整理了关于python3 re返回形式,对此有兴趣的朋友们可以学习参考下。
    2020-11-11
  • Pytorch中的数据转换Transforms与DataLoader方式

    Pytorch中的数据转换Transforms与DataLoader方式

    这篇文章主要介绍了Pytorch中的数据转换Transforms与DataLoader方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • python读取指定字节长度的文本方法

    python读取指定字节长度的文本方法

    今天小编就为大家分享一篇python读取指定字节长度的文本方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python采集二手车数据的超详细讲解

    Python采集二手车数据的超详细讲解

    这篇文章主要为大家介绍了Python采集二手车数据实现的超详细讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • 使用Python进行数独求解详解(一)

    使用Python进行数独求解详解(一)

    本文主要介绍了如何构建一个Python脚本来解决数独难题,本文的重点在于介绍用于构建数独求解器的回溯算法。感兴趣的小伙伴可以学习一下
    2022-02-02
  • Python3指定路径寻找符合匹配模式文件

    Python3指定路径寻找符合匹配模式文件

    这篇文章主要介绍了Python3指定路径寻找符合匹配模式文件,涉及Python文件查找与模式匹配的相关技巧,需要的朋友可以参考下
    2015-05-05

最新评论