【发布时间】:2017-07-17 09:18:09
【问题描述】:
我想在图例中同时显示颜色和标记。颜色意味着一件事,而标记意味着另一件事。它应该看起来像附加的图像。这是我当前的代码:
x = np.arange(20)
y = np.sin(x)
fig, ax = plt.subplots()
line1 = ax.scatter(x[:10],y[:10],20, c="red", picker=True, marker='*')
line2 = ax.scatter(x[10:20],y[10:20],20, c="red", picker=True, marker='^')
ia = lambda i: plt.annotate("Annotate {}".format(i), (x[i],y[i]), visible=False)
img_annotations = [ia(i) for i in range(len(x))]
def show_ROI(event):
for annot, line in zip([img_annotations[:10],img_annotations[10:20]], [line1, line2]):
if line.contains(event)[0]:
...
fig.canvas.draw_idle()
fig.canvas.mpl_connect('button_press_event', show_ROI)
plt.show()
【问题讨论】:
-
你的意思是两个独立的图例吗?
-
@DavidG,它可以是一个图例或两个单独的图例,但标记不是特定于颜色的。标记可以有不同的颜色。而且一种颜色可以有不同的标记。
-
您能否提供一个示例(最好是图片)来说明预期/期望的结果是什么?
-
@DavidG 我添加了一个我所期望的图像示例。谢谢!
-
如link 所写,您可以创建各种图例条目(代理艺术家)。这可能就是你想要的。
标签: python matplotlib legend