Python 在酸洗Matplotlib图形中操作图例

Python 在酸洗Matplotlib图形中操作图例,python,matplotlib,pickle,Python,Matplotlib,Pickle,是否可以在酸洗的matplotlib图形中操纵图例 我画了一个图,然后把它腌了 import matplotlib.pyplot as plt import pickle as pkl x = [1,2,3] y = [1,2,3] fig = plt.figure('plot') plt.plot(x,y, label = 'label') plt.legend(loc = 'best') pkl.dump(fig,file('plot.pkl','wb')) 然后,我加载腌制的图形

是否可以在酸洗的matplotlib图形中操纵图例

我画了一个图,然后把它腌了

import matplotlib.pyplot as plt
import pickle as pkl

x = [1,2,3]
y = [1,2,3]

fig = plt.figure('plot')
plt.plot(x,y, label = 'label')
plt.legend(loc = 'best')

pkl.dump(fig,file('plot.pkl','wb'))
然后,我加载腌制的图形

fig = pkl.load(open('plot.pkl','rb'))
plt.show()
我现在需要提取图形标签,以便在交互式小部件中使用。你知道怎么做吗

提前谢谢

您必须“剥离”图形:

labels = [label.get_text() for label in ax.legend().texts for ax in fig.axes]

有没有一种方法可以在不让图例出现在情节上的情况下做到这一点?请更加明确。你说的是哪个情节?如果您不想要图例,为什么要使用标签?我正在提取标签以用于交互式小部件(打开/关闭特定系列),但实际上不希望图例出现在绘图上。当我添加
labels=[label.get_text()用于ax.legend()中的label.fig.axs中的ax文本]
时,图例会自动显示。我不太理解您的过程,但请尝试:ax.legend_.text而不是ax.lengend()。text使用
plt.legend()正确设置_可见(False)
。谢谢你的帮助!