matplotlib 中文乱码的解决方法
关于报错信息
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()
matplotlib 中文乱码的解决方法的更多相关文章
- php 使用phpmailer 发送邮件(附带中文乱码的解决方法)
下载phpmailer ,在程序里包含class.phpmailer.php 类 ,这里有中文乱码的解决方法 实例代码如下 <html> <head> <title&g ...
- xShell终端中文乱码完全解决方法
xShell终端中文乱码完全解决方法 xShell(xShell5)以及其他终端中文乱码的原因无非有三种:(1)Linux系统的编码问题:(2)xShell终端的编码问题: (3)两端的语言编码不一致 ...
- Mysql命令行中文乱码的解决方法
环境:Windows 8 64位,Mysql 5.0.96 for Win64 (x86) 数据库本身安装时默认已经是使用utf8编码的了,但在命令行中执行查询时,查询到的中文依然乱码,解决方法如下 ...
- 30. CentOS终端命令行显示中文乱码的解决方法
安装CentOS的时候选择了中文,结果在终端不能显示中文,都是乱码,解决方法:修改/etc/sysconfig/i18n,内容为 代码如下: LANG="zh_CN.GB18030&qu ...
- windows下SVN日志反馈中文乱码的解决方法
转自:https://shiyousan.com/post/635889908703806636 TortoiseSVN中文乱码的问题困扰了我好久,特别是每次使用“以标准差异文件显示修改”时,打开的文 ...
- 【IntelliJ IDEA】从资源文件读取出来就中文乱码的解决方法
在application.properties资源文件中设置两个自定义的属性以及属性值: com.sxd.name = "德玛西亚" com.sxd.want = "王者 ...
- matplotlib 与 seaborn 中出现中文乱码的解决方法
Linux.Mac osx 系统中,出现 matplotlib 或 seaborn 绘图中有中文乱码的情形,可以考虑使用以下方式处理: 到 anaconda 的 matplotlib 中查看是否有 ...
- ueditor 1.4.3 gbk asp 上传中文乱码 终极解决方法 ie6 ie8 也适用
[摘要:百度编纂器1.43 gbk asp 题目 1.firefox3.0下 单图上传 面没有了 面多图上传 中央的蓝色按钮(即 面击挑选图片)没有表现(附件上传出那个题目) 没有晓得我的水狐吃翔了 ...
- Sublime Text 3 中文乱码的解决方法
Sublime Text 3 中文乱码表现如下图: 解决方法很简单,三步搞定: 步骤一: 下载ConvertToUTF8,下载地址:http://pan.baidu.com/s/1gd5SWmB 步骤 ...
- mysql命令行以及mysql workbence查询结果中文乱码的解决方法
最近正在学习mysql,安装环境是windows server 2003 32位操作系统+mysql 5.1.47同时也安装了mysql命令行以及mysql workbench这里是test数据库cr ...
随机推荐
- Codeforces Round #748 (Div. 3) - D2. Half of Same
数论 + 随机化 [Problem - D2 - Codeforces](https://codeforces.com/contest/1749/problem/D) 题意 给定一个长度为 \(n\; ...
- mysql 主次数据库搭建
准备工作:主192.168.200.51 从192.168.200.53 主从服务器需要有相同的初态 1.将主服务器要同步的数据库枷锁,避免同步时数据发生改变 mysql>use db; my ...
- Python中的__new__()方法
1.__new__()至少要有一个参数cls,代表当前类,此参数在实例时由python解释器自动识别, 2.__new__()必须要有返回值,返回实例化出来的实例,这点在自己实现__new__时要特别 ...
- FMC子卡设计资料原理图:FMC550-基于ADRV9002双窄带宽带射频收发器FMC子卡
FMC550-基于ADRV9002双窄带宽带射频收发器FMC子卡 一.产品概述 ADRV9002 是一款高性能.高线性度.高动态范围收发器,旨在针对性能与功耗系统进行优化.该设备是可配置的,非常适合要 ...
- Oracle 详细-创建用户并导入sql文件
0.基本信息查询SQL select * from dba_users; 查看数据库里面所有用户,前提是你是有dba权限的帐号,如sys,system select * from all_u ...
- 别再写一堆的 for 循环了!Java 8 中的 Stream 轻松遍历树形结构,是真的牛逼
实体类:Menu.java /** * Menu * * @author lcry */ @Data @Builder public class Menu { /** * id */ public I ...
- docker创建etcd
创建docker-compose.yml version: "3.5" services: etcd: hostname: etcd image: bitnami/etcd:3 d ...
- KingbaseES V8R3集群维护案例之---pcp_node_refresh应用
案例说明: 在一次KingbaseES V8R3集群切换分析中,运维人员执行了pcp_node_refresh,导致集群发生了failover的切换.此文档对pcp_node_refresh工具做了应 ...
- k8s Service yaml文件编写
apiVersion: app/v1 #API的版本号,版本号可以用 kubectl api-versions 查询到 kind: Service #表明资源对象,例如Pod.RC.Service.N ...
- 21_webpack_DDL
DLL库(不再使用) DLL全称是动态链接库(Dynamic Link Library),是为软件在Windows中实现共享函数库的一种实现方式 webpack中也有内置DLL的功能,它指的是我们可以 ...