У меня есть функция, которая генерирует график из данных, которые я прочитал. Цель состоит в том, чтобы иметь возможность открывать несколько окон графиков, каждое из которых имеет уникальное имя, а затем разрешать другим функциям изменять их по своему желанию (обновление данныхв них изменение цвета и т. д.) или для повторного открытия закрытых участков.
Я пытался сделать следующее:
1) Определить класс, рабочее пространство,который имеет атрибут Фигуры, который является словарем.Я намереваюсь присвоить свои цифры уникальным ключам в этом словаре.
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] будет содержать идентичную копию fig из make_plot (), и поэтому я 'Мне просто нужно выполнить ту же команду, чтобы она появилась.
Я надеялся, что это будет абсолютно проще всего, и что я мог бы затем использовать этот словарь для ссылки на график, обновить оси,и т.д. всякий раз, когда мне нужно.Но если я не могу даже пересказать это ...