Встраивание Matplotlib в PyQt4: пошаговое руководство
Интегрировать интерактивный график matplotlib в пользовательский интерфейс PyQt4 проще, чем он может показаться. Вот пошаговое объяснение:
Импортируйте необходимые модули:
Начните с импорта соответствующих виджетов Qt из matplotlib.backends. backend_qt4agg:
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.backends.backend_qt4agg import NavigationToolbar2QT as NavigationToolbar
Создайте фигуру Matplotlib:
Создайте экземпляр объекта рисунка, который будет служить основой для вашего график.
self.figure = Figure()
Создайте экземпляр виджета Qt для холста:
Создайте экземпляр PictureCanvas, который представляет виджет Qt, который будет отображать рисунок.
self.canvas = FigureCanvas(self.figure)
Добавить панель инструментов навигации:
Виджет «Панель инструментов навигации» предоставляет элементы управления для масштабирования, панорамирования и сохранения фигуры.
self.toolbar = NavigationToolbar(self.canvas, self)
Создайте кнопку:
Создайте кнопку PyQt, при нажатии на которую будет запускаться функция построения графика.
self.button = QtGui.QPushButton('Plot')
self.button.clicked.connect(self.plot)
Разработка макета:
Расположите виджеты в макете Qt.
layout = QtGui.QVBoxLayout()
layout.addWidget(self.toolbar)
layout.addWidget(self.canvas)
layout.addWidget(self.button)
self.setLayout(layout)
Построение графика случайных данных:
Определите функцию для генерации случайных данных и отобразите их на рисунке.
def plot(self):
data = [random.random() for i in range(10)]
ax = self.figure.add_subplot(111)
ax.clear()
ax.plot(data, '*-')
self.canvas.draw()
Выполняя эти шаги, вы можете встроить график matplotlib в пользовательский интерфейс PyQt4, что позволит вам визуализировать данные и взаимодействовать с ними через виджеты Qt.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3