这是我的第一个问题,一个可能非常简单,但是我尝试修复任何错误并查看更多信息,但没有成功,我是使用 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)。您永远不会调用第二个圆圈,因此它不会显示。不确定你来这里的目的是什么。然而,BigBen是正确的,只需使用 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 参数将决定哪个对象显示在另一个对象的前面。它们将从前到后按降序显示。
关于matplotlib 添加艺术家不在图例上显示标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66145391/