永久解决matplotlib中文乱码

简介: 永久解决matplotlib中文乱码

简说Python,号主老表,Python终身学习者,数据分析爱好者,从18年开始分享Python知识,原创文章227篇,写过Python、SQL、Excel入门文章,也写过Web开发、数据分析文章,老表还总结整理了一份2022Python学习资料和电子书资源,关注后私信回复:2022 即可领取。

首先下载下黑体字体库,这里我已经下载好了,大家在微信公众号简说Python回复:字体,即可获取下载地址。


  • 查看matplotlib安装目录
import matplotlib
# 查了安装路径
print(matplotlib.get_data_path()) 
'''
/Users/hhh/Library/Python/3.7/lib/python/site-packages/matplotlib/mpl-data
'''
  • 将下载好的字体复制到mpl-data/fonts/ttf目录下

image.png

  • 修改matplotlib设置文件,在mpl-data/matplotlibrc,利用文本模式打开即可,修改三个地方,修改好后保存即可:
# 第一个地方:font.family: sans-serif这一句前面的#去掉
font.family:  sans-serif  
# 第二个地方:在:(冒号)后加一个SimHei
font.sans-serif: SimHei, DejaVu Sans, Bitstream ...
# 第三个地方:axes.unicode_minus后的值改为False
axes.unicode_minus: False
  • 我们需要重新加载字体配置 如果你的matplotlib是3+以下,可以使用以下代码实现该步操作:
from matplotlib.font_manager import _rebuild
_rebuild()

如果你的matplotlib是3+及以上,在这些版本中私有方法_rebuild已被弃用,所以没法使用上面方法进行重新加载,不过更简单的,你只需要重新启动下你的python环境就可以了。

以jupyter为例子,点一下图中按钮重启内核,再运行代码即可显示中文。image.png

要是还是不行,查看下matplotlib缓存存放位置,然后删除,再重启jupyter notebook试试。

# matplotlib缓存的目录 
import matplotlib 
print(matplotlib.get_cachedir())
'''
/Users/hhh/.matplotlib
'''

这个小绘图示例也给到大家方便检测。

# 随便绘制一个饼图
import matplotlib.pyplot as plt
fig1 = plt.figure()  # 先创建一个图像对象
plt.pie([0.5, 0.3, 0.2],  # 值
        labels=['我', '你', '它'],  # 标签
        explode=(0, 0.2, 0),  # (爆裂)距离
        autopct='%1.1f%%',   # 显示百分数格式
        shadow=True)  # 是否显示阴影
plt.show()


相关文章
|
4月前
|
缓存 Linux 开发工具
【Deepin20系统】Linux系统中永久解决matplotlib画图中文乱码问题和使用seaborn中文乱码问题
在Deepin20系统下,如何解决Linux系统中matplotlib和seaborn绘图时出现的中文乱码问题,提供了临时和永久的解决方法,包括更换字体设置、修改配置文件和清除缓存等步骤。
120 4
|
Python
matplotlib绘图中文乱码问题
matplotlib绘图中文乱码问题
1602 0
|
Python
避免Matplotlib绘图中文乱码
本文介绍避免Matplotlib绘图出现中文乱码问题的解决方案。
223 0
避免Matplotlib绘图中文乱码
|
数据可视化 Python
matplotlib中文乱码的两种解决方案
最近在搞数据可视化的一些案例,特地来把学习过程中遇到的一些小问题记录一下。 今天遇到一个问题就是:当我给坐标轴添加一些中文内容以便客户查看时,出现了乱码,接下来我就通过两种方法对乱码的问题做一下解释。
2121 1
matplotlib中文乱码的两种解决方案
to_csv()中文乱码,Matplotlib绘制图表中文乱码解决方案
to_csv()文件写入文字乱码; 利用 Pandas 把数据写入csv 文件出现乱码,解决方案:
|
测试技术 Linux iOS开发
Python编程:解决matplotlib绘图中文乱码问题
Python编程:解决matplotlib绘图中文乱码问题
188 0
Python编程:解决matplotlib绘图中文乱码问题
|
Python Windows
python matplotlib.plot画图显示中文乱码的问题
python matplotlib.plot画图显示中文乱码的问题
744 0