matplotlib取消轴对象上的图例

时间:2014-02-05 20:04:05

标签: python matplotlib

我正在使用外部模块,该模块会自动为图表添加图例。 我想知道是否有办法关闭传奇,比如ax.set_legend(False)。

我可以通过黑客攻击模块来修复它,但我宁愿不这样做。

示例:

 f = plt.figure()
 ax = f.add_subplot(111)

 externalfunction(ax)

 # in the function ax.legend() has been called
 # would like to turn off the legend here

 plt.show()

更新

我为此提出了一个github问题 https://github.com/matplotlib/matplotlib/issues/2792

2 个答案:

答案 0 :(得分:3)

您需要更改图例的可见性,请尝试以下操作:ax.legend().set_visible(False)

答案 1 :(得分:3)

这也可以通过将轴的legend_属性设置为None来实现。请注意尾随下划线。 E.g。

x, y = np.random.randn(2, 30)
ax = plt.gca()
ax.plot(x, y, label="data")
ax.legend()
ax.legend_ = None

听起来未来的matplotlib版本将有一个更加官方认可的方法来移除轴,但这应该适用于此期间/如果卡在旧版本上。