当前位置: 首页 > 工具软件 > Fonty Python > 使用案例 >

Python - matplotlib库 - 中文字体设置

包阳成
2023-12-01

Python - matplotlib库 - 中文字体设置

在matplotlib绘制折线图柱状图时,如果对x,y,图表标题,直接使用plot.xlabel(“时间”);plot.(ylabel(“范围”)进行命名,这时显示的不是中文而是空格。

解决方法如下:

方法一(全局设置):

导入matplotlib库,使用mpl.rcParams[]进行配置即可

#导入matplotlib库
import matplotlib as mpl
#配置之后便可使用
mpl.rcParams['font.family']='SimHei'
mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False     # 正常显示负号
#可使用该例子查看效果
from matplotlib import pyplot as plt
plt.plot([1,2,3],[1,2,3])
plt.title('例子')
plt.xlabel('时间')
plt.ylabel('范围')
plt.show()

方法二(局部设置):

该方法需要自行百度下载simhei.ttf文件很简单,还可以自行设置字体的字号等。局部设置的意思是可对x,y轴设置不同的字体字号。
simhei.ttf下载地址:http://www.downcc.com/font/7665.html
(下载时注意别点到辣鸡流氓软件)

#配置中文字体
#导入matplotlib.font_manager
from matplotlib.font_manager import FontProperties 
#代码文件和ttf文件在同一文件夹下可使用绝对地址
#当代码和simhei.ttf文件不在同一个文件夹下时需使用相对地址
font = FontProperties(fname=r"simhei.ttf", size=14)
#相对地址
font1 = FontProperties(fname=r"c:\windows\fonts\STHUPO.TTF")
font2 = FontProperties(fname=r"c:\windows\fonts\STCAIYUN.TTF")

#可使用该例子查看效果
from matplotlib import pyplot as plt
plt.plot([1,2,3],[1,2,3])
#像设置不同字体时fontpropert=font1或font2
plt.title('例子', fontproperties=font))
plt.xlabel('时间', fontproperties=font))
plt.ylabel('范围', fontproperties=font))
plt.show()

参考文档1:
https://blog.csdn.net/lzp_k2/article/details/93070507?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase

参考文档2:
https://blog.csdn.net/qq_17753903/article/details/86260276?utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-1.nonecase

 类似资料: