Динамически изменять содержимое графика matplotlib

Я раньше, я сравнивал вывод двух функций с помощью python и matplotlib. Результат был так же прост, так как построение с помощью matplotlib довольно просто: я только построил два массива с разными маркерами. Кусок пирога.

Теперь я нахожусь с той же проблемой, но теперь у меня много пары кривых для сравнения. Сначала я попробовал зарисовать все с разными цветами и маркерами. Это меня не удовлетворило, так как диапазоны каждой кривой не совсем одинаковы. В дополнение к этому у меня быстро закончились цвета и маркеры, которые были достаточно разными для идентификации (RGBCMYK, после этого пользовательские цвета напоминают любые предыдущие).

Я также попробовал подстроить каждую пару кривых, получив окно со многими графиками. Слишком много народа. Я пробовал одно окно за сюжет, слишком много окон.

Поэтому мне просто интересно, существует ли какой-либо существующий виджет, или если у вас есть какое-либо предложение (или другая идея), чтобы выполнить это:

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

3 Solutions collect form web for “Динамически изменять содержимое графика matplotlib”

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

import matplotlib.pyplot as plt figure = plt.figure() # plotting plt.plot([1,2,3],[10,20,30],'bo-') plt.grid() plt.legend() def on_press(event): print 'you pressed', event.button, event.xdata, event.ydata event.canvas.figure.clear() # select new curves to plot, in this example [1,2,3] [0,0,0] event.canvas.figure.gca().plot([1,2,3],[0,0,0], 'ro-') event.canvas.figure.gca().grid() event.canvas.figure.gca().legend() event.canvas.draw() figure.canvas.mpl_connect('button_press_event', on_press) 

Похоже, вы хотите встроить matplotlib в приложение. Для этого есть несколько ресурсов:

  • примеры пользовательского интерфейса
  • Встраивание в WX

Мне очень нравится использовать черты. Если вы будете следовать учебному пособию. Написание графического приложения для научного программирования вы должны будете делать то, что хотите. В учебнике показано, как взаимодействовать с графиком matplotlib, используя графический интерфейс пользователя.

  • matplotlib: метки периода центрирования по данным периода в графике временного ряда
  • Python matplotlib накладывает разброс
  • Как сохранить графики из нескольких сценариев python с помощью интерактивной команды процесса C #?
  • Как обрабатывать время с часовым поясом в Matplotlib?
  • Легенда показывает только одну метку при построении с пандами
  • Как настроить интервал между ярлыками в блок-схеме в Seaborn
  • Автоматически назначать цвет узлам в Graphviz
  • Как изменить расположение оси «r» для полярного графика matplotlib?
  • переопределить метки оси y y, не влияя на форму графика в pyplot
  • Цветной сетчатый график функции в Python
  • Построение линейного графика с барами ошибок и точками данных из pandas DataFrame
  • Python - лучший язык программирования в мире.