如何将没有符号/颜色的图例条目添加到现有图例中?

用户名

我有一个传说的情节。我想在图例框中添加一个条目。该条目可能类似于fit参数或其他描述数据的东西。

例如,可以使用以下代码

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2*np.pi, 101)
y = np.sin(x)

plt.plot(x, y, color='r', label='y = sin(x)')
plt.plot(np.NaN, np.NaN, color='k', label='extra label')
plt.plot(np.NaN, np.NaN, color='b', linestyle=None, label='linestyle = None')
plt.plot(np.NaN, np.NaN, color='orange', marker=None, label='marker = None')
plt.plot(np.NaN, np.NaN, color=None, label='color = None')
plt.legend()
plt.show()

生成下面的图

在此处输入图片说明

相反,我希望有一个"extra label"仅包含空白且没有符号的标签我尝试将,和kwargs更改为linestyle但未成功。我也尝试过绘图而不是绘图我认为有些变通办法是改为但我希望有一种更合适的方法来做到这一点。我怎样才能做到这一点?markercolorNoneplt.plot([], [])plt.plot(np.NaN, np.NaN)color='k'color='white'

编辑

我的问题不是重复的。被指责为重复的帖子显示了另一种产生图例标签的方式,但并非针对没有符号的方式。可以运行下面的代码进行测试,以测试与我最初提出的问题相同的问题。

import matplotlib.patches as mpatches
nan_patch = mpatches.Patch(color=None, label='The label for no data')

并从修改此实例 plt.legend()

plt.legend(handles=[nan_patch])
戴维

您可以将项目添加到图例,如(现已删除)重复项所示。注意,图例本身没有颜色,则必须设置color="none",例如

empty_patch = mpatches.Patch(color='none', label='Extra label') 
plt.legend(handles=[empty_patch])

为了具有此功能以及现有的图例条目,您可以获取现有图例手柄和标签的列表,向其中添加多余的图柄和标签,然后绘制图例:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches

x = np.linspace(0, 2*np.pi, 101)
y = np.sin(x)
plt.plot(x, y, color='r', label='y = sin(x)')

handles, labels = plt.gca().get_legend_handles_labels() # get existing handles and labels
empty_patch = mpatches.Patch(color='none', label='Extra label') # create a patch with no color

handles.append(empty_patch)  # add new patches and labels to list
labels.append("Extra label")

plt.legend(handles, labels) # apply new handles and labels to plot

plt.show()

这使:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章