所以我需要在python中制作这个情节。我希望删除我的传奇边界。然而,当我尝试其他海报制作的不同解决方案时,他们无法与我合作。请帮忙。
这不起作用:
plt.legend({'z$\sim$0.35', 'z$\sim$0.1','z$\sim$1.55'})
plt.legend(frameon=False)
plt.legend({'z$\sim$0.35', 'z$\sim$0.1','z$\sim$1.55'})
plt.legend.get_frame().set_linewidth(0.0)
plt.legend({'z$\sim$0.35', 'z$\sim$0.1','z$\sim$1.55'}, 'Box', 'off')
此外,当我绘制时,我导入了两个不同的文件,并分别用一条线和圆圈绘制它们。我怎么能在图例键中放一条线或一个圆圈?
情节:
答案 0 :(得分:5)
这很奇怪,因为命令:
plt.legend(frameon=False)
应该工作得很好。 您也可以尝试使用此命令进行比较:
plt.legend(frameon=None)
您还可以阅读此页面上有关plt.legend
的文档我为你编写了一些例子:
import numpy as np
import matplotlib.pyplot as plt
x = np.array([0,4,8,13])
y = np.array([0,1,2,3])
fig1, ((ax1, ax2)) = plt.subplots(1, 2)
ax1.plot(x,y, label=u'test')
ax1.legend(loc='upper left', frameon=False)
ax2.plot(x,y, label=u'test2')
ax2.legend(loc='upper left', frameon=None)
plt.show()
答案 1 :(得分:0)
如果您只想绘制一个图(不带子图)
,请尝试此操作plt.legend({'z$\sim$0.35', 'z$\sim$0.1','z$\sim$1.55'}, frameon=False)
一个plt.legend就足够了。第二个重写第一个。
答案 2 :(得分:0)
如果要指定位置并删除边框,请确保 frameon = False 与 plt.legend(...) 中的位置参数一起使用。如果将这些参数单独或依次写入,则存在覆盖问题,可能达不到预期的效果。
正确!
plt.legend(loc="lower right", frameon=False)
这样写可能达不到预期的效果!
plt.legend(loc="lower right")
& plt.legend(frameon=False)