python的matplotlib画图中文无法显示问题(OS X系统)

今天在jupyter用matplotlib库画图时,发现所有的中文全部变成方框了,如下图所示。然后百度,谷歌查了很多方法均不行,最后无意间寻得方法,记录下来。


在这里插入图片描述

一、网上常见方法汇总:

1、在开头加入以下设置即可解决(我尝试后无效):

%matplotlib inline
plt.rcParams['figure.figsize'] = (12.0, 8.0) # 调整大小,可根据自实际情况进行设置
plt.rcParams['image.interpolation'] = 'nearest'
plt.rcParams['image.cmap'] = 'gray'
plt.rcParams['font.sans-serif']=['SimHei']  # 下面这两个是设置乱码的
plt.rcParams['axes.unicode_minus']=False
plt.style.use('ggplot')  # 使用'ggplot'风格美化显示的图表

2、加入后面两句,这里的SimHei指的是黑体(我尝试后无效):

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

3、在代码开始处加上以下两句,这里的SimHei指的是黑体我尝试后无效):

from pylab import mpl  
mpl.rcParams['font.sans-serif'] = ['SimHei'] 

4、windows下还有此种方法可以尝试

二、尝试成功的方法:

在这里插入图片描述
以简体黑字体(SimHei)为例:

1、在这里下载相关字体,或者可以通过mac自带的字体册找到相关字体(启动台—>字体册—>点击相应字体—>在访达中显示),最好是使用tff格式的,其他格式的字体文件未尝试过;

2、将准备好的SimHei.tff拷贝到/Users/xxx/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf/ 文件夹中;

3、重新加载matplotlib的字体库;

from matplotlib.font_manager import _rebuild
	_rebuild()

4、确认matplotlib是否已经拥有你新加的字体,输入如下代码可以查看matplotlib已加载的字体;

import matplotlib.font_manager

a = sorted([f.name for f in matplotlib.font_manager.fontManager.ttflist])

for i in a:
    print(i)

5、最后在你需要用的地方加载matplotlib字体。

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

成功!!!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值