mac下python matplotlib中文乱码解决方案(亲测可用)!!

在网上找了一大堆方法,花了很久,发现不是要安装各种字体就是要改配置,而且字体真的不好找也不好安装

就例如下面这两种办法,mac下根本不管用,别人管不管用我不知道,反正我试过了无效

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
# 或者 plt.rc('font', family='SimHei', size=13)
经过我折腾好久发现python还是自带可以显示中文的字体的,输入如下代码可以查看系统可用字体

from matplotlib.font_manager import FontManager
fm = FontManager()
mat_fonts = set(f.name for f in fm.ttflist)
print mat_fonts
上面的代码大家有兴趣可以自己去尝试着玩一下,下面才是重点

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
然后就可以愉快的使用中文label和legend了
————————————————
版权声明:本文为CSDN博主「瓜而不皮」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_32590631/article/details/80509741

 

 

 

如何永久性解决中文字体乱码问题:

1、找到matplotlib的字体配置文件 import matplotlib print(matplotlib.matplotlib_fname()) # 得到matplotlib使用字体所在文件夹: # /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/mpl-data/matplotlibrc

2、下载中文字体SimHei.ttf,将字体复制到配置文件所在文件夹下的fonts/ttf/下,然后双击安装

3、修改配置文件matplotlibrc,修改三处配置: # font.family前面注释去掉 font.family : sans-serif # font.sans-serif前面注释去掉,并且在前面加上SimHei中文字体 font.sans-serif : SimHei,DejaVu Sans, Bitstream Vera Sans, Computer Modern Sans Serif, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif # axes.unicode_minus前面注释去掉,并修改成False axes.unicode_minus : False ## use Unicode for the minus symbol

4、删除缓存目录 这是在mac上的操作,删除/Users/你的用户名/.matplotlib文件夹 501 cd /Users/dingding/ 503 rm -rf .matplotlib/

5、重启pycharm

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值