admin管理员组文章数量:1594976
matplotlib显示任意中文字体(不限SimHei)
- 1.背景(废话)
- 2.实验环境
- 3.步骤
- 3.1 获取字体文件
- 3.2 修改画图代码
- 4. 总结
1.背景(废话)
网上搜索”matplotlib显示中文字体“,估计会出现很多解决方案,作为小白而且想尽快解决问题的我,发现很多教程其实不太满足我的需求(我只想快速解决这个事情,但是似乎缺乏傻瓜式的“一复制一粘贴就ok”的解决方案模式),因此,这个教程整合了一些网上的信息,希望可以对即将被这个问题苦恼的小伙伴有所帮助。
2.实验环境
- ubuntu16.04
- python3.7
- anaconda3
- (2020.4.15 update:最新在window下验证也可行)
3.步骤
3.1 获取字体文件
如果你有windows系统(没有的话,建议你去找一台, 我用的是win10),C:\Windows\Fonts下有很多字体文件,可以在搜索框里搜索(如“宋体”),选择ttf/TTF后缀的文件就是所需的字体文件(非ttf后缀的字体文件我还没试验过)
如果没有window系统的话,可以通过字体下载网站下载:
https://www.fontpalace/font-details/SimHei/
https://fontzone/font-download/simhei
3.2 修改画图代码
把上一步骤的字体文件拷贝到电脑的任意位置,然后参照下面方式,即可修改字体
import matplotlib.pyplot as plt
from matplotlib.font_manager import *
myfont = FontProperties(fname='TTF文件路径.ttf')
plt.text(0.5, 0.5, '大家好,我是宋体', fontproperties=myfont)
plt.show()
4. 总结
有时候,字体文件用过来会出现这样的bug
RuntimeWarning: Glyph 21397 missing from current font.
就有人开始喷了,“啥玩意,你这也解决不了,浪费老子实践*********(此处省略一万字的自由飞翔)*********”
这坑我踩过,我的解决方式是
换一个其他的字体文件试试,如宋体的simsunb.ttf不行, 我就换成STSUNG.TTF就行了,
不太严谨的解决方案,希望也会对你有帮助吧哈哈哈哈哈
本文标签: 中文字体matplotlibsimhei
版权声明:本文标题:matplotlib显示任意中文字体(不限SimHei) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1728201443a1149431.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论