Python и Matplotlib отображение графиков в виджете PyQt

preview_player
Показать описание
Python и библиотека Matplotlib, интеграция с графическим интерфейсом Qt. Визуализация графики, построенной с использованием библиотеки Python Matplotlib в виджетах Qt.

Ссылки на предыдущие видео по теме:
Видео 1: Python настройка рабочего пространства, использование PyCharm
Видео 2: Python функции
Видео 3: Python классы
Видео 4: Графический интерфейс Qt для Python, или PyQt
Видео 5: Python компиляция программ, cx_Freeze и другие компиляторы
Видео 6.1: Библиотека Matplotlib создание графиков для анализа данных

Портал: PyScientist
Рекомендации по теме
Комментарии
Автор

Кому интересно, для PyQt5 основное отличие, что layout'ы перекочевали из GUI в QtWidgets
За видео большое спасибо)

МишаМозиков
Автор

# -*- coding: utf-8 -*-

from PyQt4.QtGui import QSizePolicy
from import FigureCanvasQTAgg as FigureCanavas

class MyMplCanavas(FigureCanavas):
def __init__(self, fig, parent = None):
self.fig =fig
FigureCanavas.__init__(self, self.fig)
FigureCanavas.setSizePolicy(self, QSizePolicy.Expanding, QSizePolicy.Expanding)

PyScientist
Автор

Спасибо за познавательное видео, ! Вроде понял, попробую.Очень интересно как реализовать SpanSelector в PyQt5, очень нужно считать медеану по выбранной части графика. Без pyqt я это реализовал на Matplotlib, но с pyqt было бы на много удобнее.

GeologVl
Автор

Добрый день, Сергей! Спасибо за полезное видео ! Просьба есть ли возможность снять видео про PyQt5 и библиотеку telethon или видео по созданию Бота для Телеграмм

mrbush
Автор

Приветствую. Подскажите пожалуйста, как можно создать кнопку для отчистки графиков функции?

alexandralikin
Автор

Сергей, подскажите пожалуйста, возможно ли в Matplotlib нарисовать линию с 2мя точками по концам, а затем мышью передвинуть точку на графике, и прочитать новые координаты.

rombler
Автор

# -*- coding: utf-8 -*-

import sys
import time

from PyQt4 import QtCore, QtGui
from PyQt4.QtCore import SIGNAL
from PyQt4.QtGui import QApplication, QMainWindow, QFont

from MplForWidget_bak import MyMplCanvas
from import NavigationToolbar2QT as NavigationToolbar

from MyGraphics import plot_graph_smart

from my_bot import TextBot
from text_bot_gui_with_mpl_bak import Ui_MainWindow


class MainWindow(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None, *args, **kwargs):
QMainWindow.__init__(self)
self.setupUi(self)

file_path =
self.fig = plot_graph_smart(file_path)

# добавление шаблона размещения на виджет
self.companovka_for_mpl =
# получение объекта класса холста с нашим рисунком
self.canavas = MyMplCanvas(self.fig)
# Размещение экземпляра класса холста в шаблоне размещения

# получение объекта класса панели управления холста
self.toolbar = NavigationToolbar(self.canavas, self)
# Размещение экземпляра класса панели управления в шаблоне размещения


self.jake = TextBot('...')



self.font = QFont()




self.label.setGeometry(QtCore.QRect(150, 70, 70, 50))
self.label.setText('Bot: '+self.jake.bot_name)

self.connect(self.pushButton, SIGNAL('clicked()'), self.show_answer)





def font_resize(self, value):
self.font.setPointSize(value)
self.font.setWeight(value)
self.label.setFont(self.font)



def show_answer(self):
self.jake.input =
self.input_text_line.clear()
time.sleep(0.5)



def main():
'''
функция для инициализации и отображения нашего основного окна приложения
'''
#Класс QApplication руководит управляющей логикой ГПИ и основными настройками.
#Здеь мы создаем экземпляр класса QAplication передавая ему аргументы из коммандной строки.
app = QApplication(sys.argv) # где sys.argv список аргументов командной строки, передаваемых сценарию Python.
#Здсь мы создаем экземпляр класса MainWindow.
main = MainWindow()
main.show()
#Метод show() отображает виджет на экране.Виджет сначала создаётся в памяти, и
#только потом(с помощью метода show) показывается на экране.
sys.exit(app.exec_())
#exec_ запускает цикл обработки сообщений
#и ждет, пока не будет вызвана exit() или не
#будет разрушен главный виджет, и возвращает значение установленное в exit().
#Здесь sys.exit обеспечивает чистый выход из приложения.

main()

PyScientist
Автор

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

timofejzivoderoff