主要有两种方法,推荐方法2,如时间紧迫可以直接跳到方法2
方法1:全局法-使用rcParamas修改字体实现
使用语句:
#---------------------(1)修改字体名字------------------------------
matplotlib.rcParams['font.family']='STsong'
#---------------------(2)修改字体大小-------------------------------
matplotlib.rcParams['font.size']=20
下面是完整代码:
import matplotlib.pyplot as plt
import numpy as np
import matplotlib
#----------------------(1)就是这两行-------------------------
matplotlib.rcParams['font.family']='STsong'
matplotlib.rcParams['font.size']=20
a = np.arange(0,5,0.02)
plt.xlabel('横轴:时间')
plt.ylabel('纵轴:振幅')
plt.plot(a,np.cos(2*np.pi*a),'r--')
plt.show()
结果:
上面的方法是全局作用,一旦修改,全张图的字体都统一了,所以推荐下面方法2
方法2:在有中文输出的地方,增加一个属性:fontproperties
使用语句:
#---------------------(1)添加的语句1,固定形式,照抄-------------------
from matplotlib.font_manager import FontProperties
#---------------------(2)添加的语句2,可以根据自己的需要修改STXINGKA.TTF,和size=多少-----------------
font = FontProperties(fname=r"c:\windows\fonts\STXINGKA.TTF", size=15)
如何更改字体,比如想要黑体,主要是修改c:\windows\fonts\后面的STXINGKA.TTF
(1)复制并打开路径:c:\windows\fonts
(2)找到黑体,上图红框所示,此时并不是把STXINGKA.TTF修改成黑体.TTF,而是对黑体处右键,点击属性,复制红框处simhei.ttf替换STXINGKA.TTF,即c:\windows\fonts\simhei.ttf,完成。
完整代码:
import matplotlib.pyplot as plt
#---------------------(1)添加的语句1,固定形状------------------------
from matplotlib.font_manager import FontProperties
#---------------------(2)添加的语句2,可以根据自己的需要修改STXINGKA.TTF,和size=多少。STXINGKA.TTF的名字替换方法按上面提示去复制----
font = FontProperties(fname=r"c:\windows\fonts\STXINGKA.TTF", size=15)
#----------------------(3)如果是黑体:--------------------------------
#font = FontProperties(fname=r"c:\windows\fonts\simhei.ttf", size=15)
plt.title("散点图练习", fontproperties=font)
plt.scatter([1, 2, 3, 4, 5, 6], [2, 3, 4, 6, 9, 12])
plt.xlabel('横坐标', fontproperties=font)
plt.ylabel('纵坐标', fontproperties=font)
plt.show()
结果: