Python - matplotlib库 - 中文字体设置

    技术2026-03-08  7

    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

    Processed: 0.015, SQL: 9