Mac OS下 plt 绘制中文无法显示问题
问题描述
- 使用pycharm进行plt绘图时,标题和部分属性中包含中文,结果显示为框框,如下图所示
解决方法
- 在网上找了一大堆方法,花了很久,发现不是要安装各种字体就是要改配置,而且字体的下载非常麻烦,常见的方法如下
解决方法1
-
使用如下代码,格式为
u'中文'
import numpy as np import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] # plt.rc('font', family='SimHei', size=13)
上述方法,我在win10系统下可以实现,但在Mac os下还是不行。
解决方法2
-
偶然发现有位大佬分享了一种有趣的方法,可以先查询一下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']
-
效果如下所示: