将多个matplotlib图形存储在字典中,并使用键显示它们/随意修改它们?

时间:2019-02-10 17:45:56

标签: python matplotlib

我有一个函数,可以从读取的数据生成图形。目标是能够打开多个图形窗口,每个窗口都有一个唯一的名称,然后允许其他函数随意更改它们(更新数据)。 (更改颜色等),或重新打开已关闭的图。

我试图做的是这样:

1)定义一个类,其工作空间具有属性Figures是一个字典。我打算将数字分配给该词典中的唯一键。

2)现在,我生成一个图形,然后将其保存到WS.Figures字典中。

3)最简单的用例是,用户关闭图形并想重新打开它,而不必再次执行make_plot()。 (我的实际功能在绘制过程中复杂得多,每次手动重新创建都是很痛苦的)。因此,我尝试编写以下代码,显然,该代码什么也没做。

class WorkSpace(object):

    def __init__(self):

        self.Figures = {}

        return  

WS = WorkSpace()

def make_plot(x_data,y_data,name):

    plt.ion()

    fig = plt.figure()

    ax = fig.add_subplot(111)

    ax.plot(x_data,y_data)

    fig.canvas.draw()   

    WS.Figures[name] = fig

    return  

def replot(name):

    WS.Figures[name].canvas.draw()

            return

我在这里的想法是WS.Figures [name]将持有来自make_plot()的无花果的相同副本,因此我只需要发出相同的命令以使其出现。

我希望这绝对是最简单的事情,然后我可以在需要时使用该字典键引用该图,更新轴等。但如果我什至无法重新绘制...

0 个答案:

没有答案