matplotlib 中文乱码的解决方法
2024-10-21 12:00:56
关于报错信息
Glyph 26426 missing from current font.
这个错误的原因是:本地没有可支持中文字体显示的配置文件,所以第一步需要先去下载相关的配置文件。
下载链接
https://www.wfonts.com/font/simhei
我们需要使用里面的 SimHei.ttf 文件
查找 matplotlib 的字体库
>>> import matplotlib
>>> print(matplotlib.matplotlib_fname())
/root/anaconda3/lib/python3.8/site-packages/matplotlib/mpl-data/matplotlibrc
注意:
这里路径的指向是 matplotlib 的配置文件,字体库在同级目录 mpl-data 下 fonts/ttf 文件夹,我们可以将准备好的 SimHei.ttf 拷贝到 fonts/ttf/ 目录下。
代码中的使用
import matplotlib.pyplot as plt
from matplotlib.font_manager import *
my_font = FontProperties(fname='/root/anaconda3/lib/python3.8/site-packages/matplotlib/mpl-data/fonts/ttf/SimHei.ttf') # 目录要更改为自己的
plt.rcParams['axes.unicode_minus'] = False
# 用数组绘图
import numpy as np
t = np.arange(0, 5, 0.2)
# 绘制三条线
# 线条 1
x1 = y1 = t
# 线条 2
x2 = x1
y2 = t**2
# 线条 3
x3 = x1
y3 = t**3
# 绘图
Linelist = plt.plot(x1, y1, x2, y2, x3, y3)
# 使用 setp 方法可以同时设置多条线条的属性
plt.setp(Linelist, color='blue')
plt.xlabel('x轴坐标', fontproperties=my_font) # 添加 fontproperties 参数,下同
plt.ylabel('y轴坐标', fontproperties=my_font)
plt.title('标题', fontproperties=my_font)
plt.annotate('这里是注释', xy=(3, 27), xytext=(3, 50), arrowprops=dict(facecolor='black', shrink=0.01), fontproperties=my_font)
plt.show()
最新文章
- Sass与Web组件化相关的功能
- 不用插件 让Firefox 支持网页翻译
- Codeforces #Round 376 部分题解
- 使用XML文件和Java代码控制UI界面
- zepto - reduce
- asp.net中下载文件的问题
- IE8下提示&;#39;console&;#39;没有定义错误
- Python学习笔记(四)Python函数的参数
- QQ高仿版
- 【Telerik控件学习】-建立自己的图形编辑工具(Diagram)
- 关于Oracle使用管理员账号登录失败的问题
- ubuntu 16.04 和win10双系统ubuntu无法更新问题解决
- Spring cloud config 使用gitHub或者gitee连接
- Android进程命令查看
- Python strip lstrip rstrip使用方法(字符串处理空格)
- DataTables合并单元格(rowspan)的实现思路(多分组分类的情况)
- android boot.img unpack pack
- Gradle: Can't load library: native-platform.dll
- Action的mapping.findFoward(forwardName)必须要在struts-config.xml中的对应的action节点配置一个forward节点
- SQL基本操作——UNION