彻底解决 matplotlib 中文乱码问题

Matplotlib中文乱码解决方案(两种方式) Matplotlib 默认不支持中文字体,这因为 Matplotlib 只支持 ASCII 字符,但中文标注更加符合中国人的阅读习惯。因此,本节重点讲解如何在 Windows 环境下让 Matplotlib 显示中文 阅读详情

彻底解决 matplotlib 中文乱码问题

 

问题:

    matplotlib 显示中文乱码问题,是因为没有对应的字体库,网上给的解决方案是引入字体库 SimHei

import matplotlib as mlp
mlp.rcParams['font.family'] = 'SimHei'
mlp.rcParams['axes.unicode_minus'] = False

   但是很多人照这样操作后,还是不行。跟不愿意是电脑里没有 SimHei 字体库

 

解决方案:

1、从网上下载字体库 SimHei,这里可以下载 对应的Mac or Windows版本。

         下载链接: http://www.xiazaiziti.com/210356.html

2、查看 matplotlib 使用的字体库路径

import matplotlib
print("matplotlib字体路径: ", matplotlib.matplotlib_fname())
print("matplotlib缓存路径: ", matplotlib.get_cachedir())

例如这是我的,

cd 到fonts/ttf 查看有无SimHei 字体库:

       cd /Users/kunlun/.pyenv/versions/tf2_py371/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf/


若没有(肯定没有)将下载的 SimHei.ttf 移动到  “... /matplotlib/mpl-data/fonts/ttf/ ” 目录

      mv SimHei.ttf /Users/kunlun/.pyenv/versions/tf2_py371/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf/

 

3、修改 matplotlib 配置文件

      vim 刚才哪个 matplotlib字体路径:  vim /Users/kunlun/.pyenv/versions/tf2_py371/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc

      然后这样修改



4、删除matplotlib缓存路径: /Users/kunlun/.matplotlib 里的

       tex.cache、fontlist-v300.json 文件


5、重启IPython, 见证奇迹


6、若是还不行,你在加上这句

import matplotlib as mlp
mlp.rcParams['font.sans-serif'] = 'SimHei'
mlp.rcParams['axes.unicode_minus'] = False

 

 

解决 Matplotlib 中文乱码的详细教程 在使用 Matplotlib 进行数据可视化时,您可能会遇到中文字符显示为乱码或方块的问题。这通常是由于系统中未正确配置中文字体。以下是一个完整的教程,帮助您解决这个问题 阅读详情

相关推荐

matplotlib中文乱码、坐标轴数字或指数中的负号乱码解决方案

在使用matplotlib进行绘图时,会出现中文字体显示乱码问题或坐标轴负号无法正常显示的问题。该问题可以通过下面两行代码解决。这里的解决方案是不使用SimHei字体,而使用Microsoft YaHei字体。然而,当负号出现在指数上时,负号仍无法正常显示,如。

Mrfive555的博客 2967

matplotlib中文乱码问题

在使用Matplotlib进行数据可视化的过程中,经常会遇到中文乱码问题。显示乱码是由于编码问题导致的,而matplotlib 默认使用ASCII 编码,但是当使用pyplot时,是支持unicode编码的,只是默认字体是英文字体,导致中文无法正常显示,所以显示中文乱码。文本使用系统默认字体、手动指定字体、使用字体管理器来解决。

深之JohnChen的专栏 6238

彻底解决PyCharm中Matplotlib无法显示图形及中文乱码问题

本教程解决PyCharm中Matplotlib的两个常见问题:图形无法显示和中文乱码。针对图形显示问题,可通过修改后端配置(如使用TkAgg或Qt5Agg)或启用PyCharm的SciView窗口解决。中文乱码问题则需设置中文字体,提供全局配置、代码动态设置和跨平台解决方案三种方法,并给出完整示例代码。文章还包含常见问题排查建议,帮助用户彻底解决这些技术难题,让数据可视化开发更顺畅。

m0_74205854的博客 2414

Python中使用matplotlib时显示中文乱码_(或更改字体)

在使用matplotlib绘制可视化图表时,图表的中文显示乱码,只能正常显示英文内容; 一般显示乱码是由于编码问题导致的,而matplotlib 默认使用ASCII 编码,但是当使用pyplot时,是支持unicode编码的,只是默认字体是英文字体,导致中文无法正常显示,所以显示中文乱码

提供C#相关开发 、云计算、运维测试、网络安全相关技术分享与服务,有意向可联系。 1万+

彻底解决matplotlib中文乱码问题

通过3种不同的解决方案,彻底解决matplotlib在Linux和Windows系统下的中文显示问题,让数据可视化不再受字体限制。

7万+

彻底解决 macOS 下Matplotlib 中文显示乱码问题

安装支持中文的字体:确保系统中安装了支持中文的字体。本文列出的一般都是系统自带的。配置 Matplotlib 使用这些字体:在 Matplotlib 中设置字体,以确保中文字符能够正确显示。# 设置字体为支持中文的字体matplotlib.rcParams['axes.unicode_minus'] = False # 解决负号 '-' 显示为方块的问题matplotlib.rcParams['font.family'] = 'Kaiti SC' # 可以替换为其他字体'''

AI 音频小牛的博客 2105

Mac系统彻底解决matplotlib中文显示乱码问题

MAC OS系统解决matplotlib 中文乱码 Python版本2.7 1、    找到matplotlib 安装的目录 >importmatplotlib >print(matplotlib.matplotlib_fname()) 2、找到 matplotlibrc 文件 删除font.family和font.sans-serif两行前的#,并在font.sans-serif后

Fantasy_Muse的博客 3454

micropython中文编码_【转】彻底解决matplotlib中文乱码问题

摘自 http://blog.csdn.net/dgatiger/article/details/504145491.环境查看a.系统版本查看[hadoop@p168 ~]$ cat /etc/redhat-releaseCentOS Linux release 7.2.1511 (Core)b.系统中文字体查看[hadoop@p168 ~]$ fc-list :lang=zh/usr/shar...

weixin_42662293的博客 1262

Matplotlib 彻底解决中文乱码问题解决方案

首先需要下载字体库: 点击下载SimHei Win10 和 Mac都是双击打开然后安装即可。 找到matplotlib字体文件夹,不知道matplotlib文件在哪里的话,运行下面python代码 import matplotlib matplotlib.matplotlib_fname() #输出matplotlib包所在的配置文件的路径 打开matplotlib里mpl-da...

qnloft.com 735

彻底解决matplotlib中文乱码问题(转)

彻底解决matplotlib中文乱码问题(转)

qq_38472451的博客 95

【转】彻底解决matplotlib中文乱码问题

摘自 http://blog.csdn.net/dgatiger/article/details/50414549 1.环境查看 a.系统版本查看 [hadoop@p168 ~]$ cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) b.系统中文字体查看 [hadoop@p168 ~]$ f...

weixin_30354675的博客 138
上一篇: cv2 获取图片亮度值
下一篇: 为什么python需要wsgi
DaSheng1104
博客等级 码龄9年 8粉丝 23原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值