完美解决Pycharm中matplotlib画图中文乱码问题

(编辑:jimmy 日期: 2024/12/28 浏览:2)

Matplotlib
Matplotlib 是Python中类似 MATLAB 的绘图工具,熟悉 MATLAB 也可以很快的上手 Matplotlib。

这篇文章给大家介绍Pycharm matplotlib画图中文乱码的问题及解决方法,本文给大家介绍的非常详细,一起看看吧!

我用的MacOs系统,不过Windows也大同小异

首先去下载SimHei字体:

https://github.com/StellarCN/scp_zh/blob/master/fonts/SimHei.ttf

然后直接双击安装;

将下载的SimHei.ttf移动到你的matplotlib/mpl-data/fonts/ttf/下,路径全称可在Pycharm里使用下面的代码打印出来,我的是/Library/Python/3.8/site-packages/matplotlib/mpl-data/matplotlibrc/mpl-data/fonts/ttf/

import matplotlib
path = matplotlib.matplotlib_fname()
print(path)

然后去编辑/mpl-data/下的matplotlibrc,修改以下内容(去掉前面的#号,第三行修改为False)

font.family   : sans-serif  
font.sans-serif  : SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif 
axes.unicode_minus:False,#作用就是解决负号'-'显示为方块的问题

然后去Pycharm或者python终端里面执行以下命令

from matplotlib.font_manager import _rebuild
_rebuild()

最后在你要使用matplotlib画图的代码中加入如下两句

plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

一句话新闻

微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。