Mac上matplotlib中文乱码的解决方案

前提:

 

今天初次用了中文运行,发现一直出现中文乱码情况,即使加上了前缀还是乱码。参考了多方文章,最后解决。建议如果有友友看过其他攻略,但还是不行的可以直接跳转步骤6。

解决办法:

1.下载SimHei字体:http://www.fontpalace.com/font-details/SimHei/

2.运行以下代码,找到Matplotlib配置路径。

import matplotlib
matplotlib.matplotlib_fname()

我的得到的是:

 /Users/s/anaconda3/lib/python3.10/site-packages/matplotlib/mpl-data/matplotlibrc(这里每个人用户名后面会不一样,请自己灵活调整)

3.访问到此路径下,进入font/ttf/。

 

    把步骤1下载的字体粘贴进去。

 4.返回到步骤3的目录下,使用文本编辑器打开matplotlibrc(一般默认就是文本编辑器,不确定的可以右键查看打开方式)。

 5.command+F 查找font.family: sans-serif,去掉前面的注释符#;

                                                 

   继续查font.sans-serif : ,在DejaVu Sans前添加SimHei

    最后查找axes.unicode_minus,去掉注释并将值设置为False

 

6.(很重要!!)运行以下代码:

from matplotlib.font_manager import _rebuild
_rebuild() 

测试:

import matplotlib.pyplot as plt
import numpy as np

x = np.array(["小杨", "小羊", "美女小杨", "美女小羊不失眠"])
y = np.array([12, 22, 6, 18])

plt.barh(x,y)
plt.show()

成功!

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值