matplotlib.pyplot作图,图例显示不全问题

在matplotlib.pyplot绘图时,遇到图例显示不完整的问题。尝试通过设置字体和路径来解决,但未成功。经过研究,发现正确的方法是将`plt.legend()`语句放在`plt.show()`之前,这使得图例能够正常显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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()

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值