Как связать структуру данных Python с Matplotlib? Такие как dict -> гистограмма - PullRequest
1 голос
/ 24 марта 2012

У меня есть коллега, который показал мне свою рабочую среду на каком-то другом языке. У него была возможность создать пустой объект, похожий на диктовку, и передать указатель на этот объект в другую библиотеку диаграмм. Эта библиотека графиков создаст оконную гистограмму. Поскольку объект, похожий на диктат, был пуст, на графике ничего не отображалось.

Теперь, когда он обновил свой подобный диктату объект, вставив в него пары ключ-значение, диаграмма волшебным образом обновила бы в режиме реального времени его изменения.

Это казалось невероятно крутым, и, поскольку я большой поклонник питона, я хочу показать ему, что "все, что он может сделать, мы можем сделать лучше!" Тем не менее, я не знаю, как это сделать - вы, ребята, можете помочь?

* Если это имеет значение, его среда была основана на APL.

1 Ответ

2 голосов
/ 24 марта 2012

Вам просто нужно написать dict подкласс, который имеет метод __setitem__, который перерисовывает диаграмму каждый раз при изменении элемента. Для получения бонусных баллов убедитесь, что элемент действительно был изменен, чтобы избежать ненужных перерисовок.

class Chartdict(dict):
    def __setitem__(self, key, value):
        if key in self:
            if self[key] != value:
                self[key] = value
                # do whatever you need to do to update the chart here

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

...