Сохранять несколько слов Matplotlib в словаре и использовать ключи для их отображения / изменения по желанию? - PullRequest
0 голосов
/ 10 февраля 2019

У меня есть функция, которая генерирует график из данных, которые я прочитал. Цель состоит в том, чтобы иметь возможность открывать несколько окон графиков, каждое из которых имеет уникальное имя, а затем разрешать другим функциям изменять их по своему желанию (обновление данныхв них изменение цвета и т. д.) или для повторного открытия закрытых участков.

Я пытался сделать следующее:

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 (), и поэтому я 'Мне просто нужно выполнить ту же команду, чтобы она появилась.

Я надеялся, что это будет абсолютно проще всего, и что я мог бы затем использовать этот словарь для ссылки на график, обновить оси,и т.д. всякий раз, когда мне нужно.Но если я не могу даже пересказать это ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...