Matplotlib图例无法正常显示,仅呈现空白小框问题求助
Matplotlib图例显示空白框的解决方法
你的图例显示空白小框,核心原因是没有给绘图元素指定label参数——Matplotlib需要明确知道哪些元素要放进图例,以及每个元素对应的名称。
修改方案:给每个需要展示的绘图元素添加label参数
在scatter、errorbar、plot这些绘图函数中,加入label参数定义图例名称,之后调用legend()就能正常生成图例了。
修改后的代码示例:
plot.figure(figureLabel) plot.title(plotTitle) plot.xlabel(xLabel) plot.ylabel(yLabel) # 给散点图添加图例标签 plot.scatter(xAxis, yAxis, color=color, label='原始数据') # 给误差棒添加图例标签 plot.errorbar(xAxis, yAxis, xerr=xError, yerr=yError, ls='none', label='误差范围') curvefit = CurveFit(xAxis,yAxis,yError) slope = curvefit[0][0] yIntercept = curvefit[0][1] # 给拟合曲线添加图例标签(可以把拟合参数也放进标签里) plot.plot(xAxis, (xAxis*slope + yIntercept), color='black', label=f'拟合直线: y={slope:.2f}x + {yIntercept:.2f}') plot.legend()
额外提示
如果某个绘图元素不需要出现在图例中,可以给它设置label='_nolegend_',Matplotlib会自动忽略该元素。
内容的提问来源于stack exchange,提问作者Greggs
相关产品推荐
相关产品推荐

