import numpy as np
import matplotlib.pyplot as plt
from matplotlib import font_manager
plt.title('测试数据')
plt.legend(prop=myfont,loc="upper left") #表示在图中增加图例
myfont = font_manager.FontProperties(fname="C:\Windows\Fonts\simfang.ttf")
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
plt.plot(xs, ys2,label='测试',color='blue')
plt.show()
如上图,简单画了个图,标题部分能正常显示汉字,但是图例部分一直显示不全,一开始以为是字体问题,加了**myfont = font_manager.FontProperties(fname=“C:\Windows\Fonts\simfang.ttf”)**后还是不行。(稍微提醒一下,一开始加这段代码我以为里面的字体文件是要自己去下载的,其实不用,这些是系统自带,绝大部分电脑的字体路径就是我上面写的路径,使用过程中可以自己到路径中选择字体文件,如下图,选择你需要用到的字体文件,右键属性,红框圈选的就是文件名)
查了一些资料后发现,需要将plt.legend()放在plt.show()的前一行才能正常显示,试了一下果真没问题
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import font_manager
plt.title('测试数据')
myfont = font_manager.FontProperties(fname="C:\Windows\Fonts\simfang.ttf")
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
plt.plot(xs, ys2,label='测试',color='blue')
plt.legend(prop=myfont,loc="upper left") #表示在图中增加图例
plt.show()