【问题标题】:Manipulating Legend in Pickled Matplotlib Figure在 Pickled Matplotlib 图中操作图例
【发布时间】:2015-10-12 10:13:08
【问题描述】:

是否可以在腌制的 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()

我现在需要提取图形标签以在交互式小部件中使用。关于如何做到这一点的任何想法?

提前致谢!

【问题讨论】:

    标签: python matplotlib pickle


    【解决方案1】:

    你必须“剥”这个图:

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

    【讨论】:

    • 有没有办法做到这一点,而不会出现在情节上的图例?
    • 更明确。你说的是哪个情节?如果您不想要图例,为什么要使用标签?
    • 我正在提取要在交互式小部件中使用的标签(以打开/关闭特定系列),但实际上并不想要图例上的图例。当我添加labels = [label.get_text() for label in ax.legend().texts for ax in fig.axes] 时,图例会自动出现。
    • 我不太了解您的流程,但请尝试:ax.legend_.texts 而不是 ax.lengend().texts
    • 正确使用plt.legend().set_visible(False)。感谢您的帮助!
    猜你喜欢
    • 2012-08-12
    • 2014-11-19
    • 2012-03-14
    • 1970-01-01
    • 1970-01-01
    • 2017-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多