matplotlib添加未在图例上显示标签的艺术家

matplotlib添加未在图例上显示标签的艺术家,matplotlib,legend,subplot,Matplotlib,Legend,Subplot,这是我在这里的第一个问题,一个可能非常简单的问题,但是我试图修复任何错误并查看更多信息,但没有成功,我对使用matplotlib编程图形很陌生,有人能帮我吗?先谢谢你 import matplotlib.pyplot as plt circle1 = plt.Circle((0, 0), 0.2, color='r',label='Men') fig, ax = plt.subplots() ax.add_artist(circle1) circle1 = plt.Circle((0, 0),

这是我在这里的第一个问题,一个可能非常简单的问题,但是我试图修复任何错误并查看更多信息,但没有成功,我对使用matplotlib编程图形很陌生,有人能帮我吗?先谢谢你

import matplotlib.pyplot as plt
circle1 = plt.Circle((0, 0), 0.2, color='r',label='Men')

fig, ax = plt.subplots()
ax.add_artist(circle1)
circle1 = plt.Circle((0, 0), 2, color='r',label='Men')
plt.legend(loc='best')
plt.show()

根据您的代码,仅打印第一个圆(半径为0.2)。你从来不叫第二个圆圈,所以它不会出现。我不知道你来这里干什么。但是,如果正确,只需使用ax.add_patch(circle1),它将与标签一起显示。通过此微小更改,您的绘图将如下所示:

您还需要设置x轴和y轴限制,以便查看整个圆。下面的代码将允许您完整地查看带有不同标签的两个圆

import matplotlib.pyplot as plt
circle1 = plt.Circle((0, 0), 0.2, color='r',label='Small Red',zorder=2)
circle2 = plt.Circle((0, 0), 2, color='b',label='Big Blue',zorder=1)
fig, ax = plt.subplots()
ax.add_patch(circle1)
ax.add_patch(circle2)
plt.legend(loc='best')
ax.set_xlim([-3,3])
ax.set_ylim([-3,3])
plt.show()
您的绘图将如下所示:


zorder参数将决定哪个对象显示在另一个对象之前。它们将按降序从前到后显示。

可能使用
ax。添加补丁(圆圈1)
。谢谢你,这真的很有用,感谢BigBen,非常感谢WVJoeDone的周到解释,这真的很有帮助,谢谢你。但我似乎无法投票