由于matplotlib对于中文不显示,所以要对代码进行修改,从网上找的资料而言,具体的来说是有两大类:(1)局部变量显示,只针对当前页面代码,就像HTML代码设置属性一样,(2)永久性全局修改。(注意:我用的是pycharm的IDE,同时是在WINDOWS下)
(1)【方式一】 fontproperties
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
x=np.arange(0,10,0.5)
y=np.sin(x)
plt.title("正弦函数y=sinx", fontproperties="STFangsong", fontsize=15,color='green')
plt.plot(x,y)
plt.show();
【方式二】rcParams
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.family']=['STFangsong'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
x=np.arange(0,10,0.5)
y=np.sin(x)
plt.title("正弦函数y=sinx")
plt.plot(x,y)
plt.show();
【方式三】rc
import matplotlib.pyplot as plt
font = {'family' : 'STFangsong',
'weight' : 'bold',
'size' : '16'}
plt.rc('font', **font) # 步骤一(设置字体的更多属性)
plt.rc('axes', unicode_minus=False) # 步骤二(解决坐标轴负数的负号显示问题)
x=np.arange(0,10,0.5)
y=np.sin(x)
plt.title("正弦函数y=sinx")
plt.plot(x,y)
plt.show();
(2)
1、找到你的matplotlib 配置文件:
import matplotlib
print(matplotlib.matplotlib_fname())
输出你的配置文件路径。找到matplotlibrc的文件,用记事本打开
2、找到电脑系统字体ttf所在文件夹,以仿宋为例STFANGSO.TTF
3、复制字体进配置文件所在目录的“*******\Lib\site-packages\matplotlib\mpl-data\fonts\ttf”目录下,记得字体一定要“.ttf”结尾,
4、修改”matplotlibrc”文件
将font.family和font.sans-serif两行前的注释#删除,在”font.sans-serif”添加仿宋”FangSong”保存退出即可!
5、删除.matplotlib/cache里面的缓存字体文件(没有就算了),这样就可以了
【附录一】
查看自己电脑安装的字体
from matplotlib import pyplot as plt
import matplotlib
a=sorted([f.name for f in matplotlib.font_manager.fontManager.ttflist])
for i in a:
print(i)
【附录二】
一些中文字体的英文名
宋体 SimSun
黑体 SimHei
微软雅黑 Microsoft YaHei
微软正黑体 Microsoft JhengHei
新宋体 NSimSun
新细明体 PMingLiU
细明体 MingLiU
标楷体 DFKai-SB
仿宋 FangSong
楷体 KaiTi
隶书:LiSu
幼圆:YouYuan
华文细黑:STXihei
华文楷体:STKaiti
华文宋体:STSong
华文中宋:STZhongsong
华文仿宋:STFangsong
方正舒体:FZShuTi
方正姚体:FZYaoti
华文彩云:STCaiyun
华文琥珀:STHupo
华文隶书:STLiti
华文行楷:STXingkai
华文新魏:STXinwei