当前位置: 首页 > 知识库问答 >
问题:

使用:ax后图例格式丢失。图例(手柄、标签)

楚昀
2023-03-14

我有和这篇文章一样的问题:用户想要删除图例中重复的条目:

停止matplotlib在图例中重复标签

答案也适用于我,但是,当我使用它时,图例格式完全丢失。当我使用斧头时会发生这种情况。图例(句柄、标签)方法。以下代码(复制自http://matplotlib.org/examples/pylab_examples/legend_demo.html)说明了这个问题:

# Example data
a = np.arange(0,3, .02)
b = np.arange(0,3, .02)
c = np.exp(a)
d = c[::-1]

# Create plots with pre-defined labels.
# Alternatively, you can pass labels explicitly when calling `legend`.
fig, ax = plt.subplots()
ax.plot(a, c, 'k--', label='Model length')
ax.plot(a, d, 'k:', label='Data length')
ax.plot(a, c+d, 'k', label='Total message length')

# Now add the legend with some customizations.
legend = ax.legend(loc='upper center', shadow=True)

handles, labels = ax.get_legend_handles_labels()
ax.legend(handles, labels )   

# The frame is matplotlib.patches.Rectangle instance surrounding the legend.
frame = legend.get_frame()
frame.set_facecolor('0.90')

# Set the fontsize
for label in legend.get_texts():
    label.set_fontsize('large')

for label in legend.get_lines():
    label.set_linewidth(1.5)  # the legend line width
plt.show()

欢迎任何建议

编辑1:更正输入错误“未更正”

共有1个答案

咸疏珂
2023-03-14

你已经发出了传奇()调用两次,第二次调用时没有格式化参数,替换:

legend = ax.legend(loc='upper center', shadow=True)

handles, labels = ax.get_legend_handles_labels()
ax.legend(handles, labels )

具有

handles, labels = ax.get_legend_handles_labels()
by_label = OrderedDict(zip(labels, handles))
ax.legend(by_label.values(), by_label.keys(), loc='upper center', shadow=True)

我们应该做到这一点。

 类似资料:
  • 我希望能打电话 在包含绘图的轴上,自动获取图例(参见下面的绘图示例)。 我知道如何使用代理为图创建图例条目,请参阅下面的代码,这在本Q中已经讨论过 绘图生成(比本例中更复杂的绘图)发生在一个包中,用户可以访问和,并且根据绘图的不同,可能更喜欢某些轴而不是其他轴来绘制图例。如果调用可以很简单,不需要使用代理和显式传递句柄。这会自动用于普通图、散点图、历史图等,但不接受作为kwarg,并且没有自己的句

  • 我正在 ggplot 中处理多个 sf 几何形状,并希望以点、线和正方形(用于多边形)的形式显示图例。但是,geom_sf图例结合了如下所示的几何特征(即组合线和点): 我想要三个单独的图例,一个黄色的正方形,一个粉色的点,和一条紫色的线。这只是我绘制单个几何图形时的情况,而不是三个几何图形的组合。 我查找了类似的主题,但没有一个涉及点几何,即 https://github.com/tidyver

  • 我正在使用Firebase云消息在Unity android应用程序中进行消息推送,我得到了一个小图标很好,但缺少右侧应用程序图标。请在此处查看附加的image.enter图像描述我正在寻找解决方案,但没有找到。如果有解决方案,请分享。提前谢谢!

  • 在本教程中,我们将讨论 Matplotlib 中的图例,标题和标签。 很多时候,图形可以不言自明,但是图形带有标题,轴域上的标签和图例,来解释每一行是什么非常必要。 注:轴域(Axes)即两条坐标轴围城的区域。 从这里开始: import matplotlib.pyplot as plt x = [1,2,3] y = [5,7,4] x2 = [1,2,3] y2 = [10,14,12] 这样

  • 本文向大家介绍python 读取.nii格式图像实例,包括了python 读取.nii格式图像实例的使用技巧和注意事项,需要的朋友参考一下 我就废话不多说了,大家还是直接看代码吧~ 3D显示结果: ADNI数据维度(256,256,170)分段显示: 补充知识:python nii图像扩充 我就废话不多说了,大家还是直接看代码吧~ 以上这篇python 读取.nii格式图像实例就是小编分享给大家的

  • 我必须记录响应正文和响应标题。为此,我使用了拦截器和ContentCachingResponseWrapper类(我也尝试了filter,但结果相同)。当我将两者结合起来时,我会丢失一些标题信息,但如果我只使用拦截器,则不会丢失。 我的dispatcherServlet: 当我在拦截器的postHandle中使用ContentCachingResponseWrapper时: 标题结果: {设置Co