最近,使用Matplotlib来显示一些统计数据。但,发现居然不能显示中文,于是折腾了下,找到了在Mac系统下显示中文最简单的方式。
Mac系统下,可以直接拿取系统字体Arial Unicode MS
字体使用。具体操作实践的方式有两种:
第一种,直接在程序中设置
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'Arial Unicode MS' # 设置显示中文字体
plt.xlabel('收益率') # 设置X坐标名
plt.ylabel('日期') # 设置y坐标名
# 画线
x = range(0, 100, 1)
plt.plot(x)
plt.show()
第二种方法,在matplotlibrc配置文件中修改,之后不用再设置
1、首先,找到matplotlibrc
目录
matplotlibrc
的目录在虚拟安装目录下的site-packages/matplotlib/mpl-data/matplotlibrc
下。例如,我的虚拟目录是~/.py3_env
。最终,我matplotlibrc目录为:~/.py3_env/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc
。
1、找到matplotlibrc
文件
如果在~/.matplotlib/
目录存在matplotlibrc
文件,则直接编辑此文件;
若是不存在,则到虚拟安装目录下的site-packages/matplotlib/mpl-data/matplotlibrc
下寻找,并将其copy到~/.matplotlib/
目录下。
例如,我的虚拟目录是~/.py3_env
。最终,我matplotlibrc目录为:~/.py3_env/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc
。
# 进入目录
cd ~/.py3_env/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc
# copy到~/.matplotlib/
cp ~/.py3_env/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc ~/.matplotlib
2、修改matplotlibrc
配置
进入目录,并且编辑
cd ~/.matplotlib
vim matplotlibrc
搜索sans-serif
,删除下面标注两行前面的#
,并且在font.sans-serif
添加首选字体Arial Unicode MS
。
之后,就可以不用在程序中设置,也可以显示中文。
最后
在网上搜索的其它方式,我并没有使用成功,暂不知道是什么原因。如果,想要使用其它字体或者非Mac系统,可以参考我们来解决一下 matplotlib 的中文显示问题。