Интерактивный граф Matplotlib, встроенный в PyQt

Я создал простой скрипт python, который при запуске должен отображать встроенный график matplotlib внутри окна PyQT. Я использовал этот учебник для встраивания и запуска графика. Помимо некоторых различий в соглашениях об именах и в общем пользовательском интерфейсе мой график генерируется точно так же, как в упомянутом руководстве.

Моя проблема в том, что я хотел бы сделать это интерактивным графиком, который позволяет масштабировать и перетаскивать, но я хотел бы сделать это только с помощью мыши (щелчок и перетаскивание, колесо прокрутки и т. Д.) И без панели инструментов (поскольку я нахожу это некрасиво).

Класс виджета:

class MplCanvas(FigureCanvas): """ Creates a canvas on which to draw our widgets """ def __init__(self): self.fig = Figure() self.ax = self.fig.add_subplot(111) FigureCanvas.__init__(self, self.fig) FigureCanvas.setSizePolicy(self, QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Expanding) FigureCanvas.updateGeometry(self) class marketdephWidget(QtGui.QWidget): """ The market deph graph """ def __init__(self, parent = None): QtGui.QWidget.__init__(self, parent) self.canvas = MplCanvas() self.vbl = QtGui.QVBoxLayout() self.vbl.addWidget(self.canvas) self.setLayout(self.vbl) 

Функция расчёта (запуск при нажатии кнопки):

 # initialize the mplwidgets def PlotFunc(self): randomNumbers = random.sample(range(0, 10), 10) self.ui.widget.canvas.ax.clear() self.ui.widget.canvas.ax.plot(randomNumbers) self.ui.widget.canvas.draw() 

One Solution collect form web for “Интерактивный граф Matplotlib, встроенный в PyQt”

Это было какое-то время, но я работал над подобной проблемой. У меня есть пример здесь . Может быть, это поможет.

Программа использует PySide , но не должна быть проблемой.

Чтобы запустить программу

 python pyStocker.py 

Вы увидите всплывающее окно виджета, а в левом верхнем углу вы увидите окно TextEdit . Просто введите GOOG или какой-либо другой действительный символ акции и нажмите enter. График будет заполнен данными запаса. Полоса слайдера внизу меняет график в реальном времени.

  • Как встроить видео через mpylayer в кадр QWidget?
  • PyQt4 jpeg / jpg формат неподдерживаемого изображения
  • Модуль sip реализует API v11.0 - v11.2, но для модуля PyQt5.QtCore требуется API v11.3
  • Как добавить изображение в QWidget в PyQt4
  • Внедрение консоли IPython Qt в приложении PyQt
  • Настройка и получение «данных» из элементов виджетов PyQt?
  • «Уничтоженный» сигнал виджета не запускается (PyQT)
  • Как использовать нестандартный пользовательский шрифт со стилями?
  • Python - лучший язык программирования в мире.