Урок просто бомба. Как раз искал информацию по matplotlib и PyQt5. Путного ничего не мог найти. Всё как-то отрывочно и невнятно, а тут всё прямо по полочкам. Идеально. Большое спасибо. Полезнейший канал.
Тайминг: 0:58 Общий обзор видео. 1:37 Этапы разработки ПО на Python да и не только на Python. 5:06 Принципы SOLID. 11:42 Постановка задачи разработки ПО и проработка основной идеи. 14:11 Написание front-end с использованием QtDesigner. 20:46 Конвертация файла ui в py для дальнейшего включения в программу. 21:56 Инициализация основного окна приложения. 26:24 Корректировка front-end с использованием PyCharm. 36:27 Помещаем холст с рисунком (полем для отображения графика) matplotlib в QWidget. 46:55 Настраиваем импорт данных из файла txt в таблицу QTableWidget для последующего их использования. 54:48 Настройка отображения данных в QTableWidget. 57:50 Отображение данных из таблицы QTableWidget на графике matplotlib (точнее на осях). 1:02:15 Создание backend подбора коэффициента "m" в уравнение электропроводности. 1:05:45 Наносим на график matplotib функцию иллюстрирующую одну из связей для вывода уравнения электропроводности. 1:07:15 Проверка работы программы с реальными данными. Ссылка на оформленный исходный код прилагается: pyscientist.ucoz.net/load/arkhiv_proekta_pycharm_coreelectroanalysis_v1_0/1-1-0-10# Ссылки на предыдущие видео по теме: Ссылки на предыдущие видео по теме: Видео 1: Python настройка рабочего пространства, использование PyCharm ua-cam.com/video/lN5B0vkRhww/v-deo.html Видео 2: Python функции ua-cam.com/video/ubBH-LBHglY/v-deo.html Видео 3: Python классы ua-cam.com/video/vJp9Uo3MJMY/v-deo.html Видео 4: Графический интерфейс Qt для Python, или PyQt ua-cam.com/video/btc0bi8m134/v-deo.html Видео 5: Python компиляция программ, cx_Freeze и другие компиляторы ua-cam.com/video/Ekc7jcq13ic/v-deo.html Видео 6.1: Библиотека Matplotlib создание графиков для анализа данных ua-cam.com/video/8V3y6NCdo0k/v-deo.html Видео 6.2: Библиотека matplotlib и Qt встраивание графиков в графический интерфейс Qt ua-cam.com/video/SLwvwnqet6Y/v-deo.html Видео 7: Matplotlib модуль Animation класс FuncAnimation (автообновление графиков) ua-cam.com/video/YQm1VDPVvww/v-deo.html Видео 8: Библиотека Matplotlib, отображение графиков функции с использованием библиотеки numexpr (ввод функции из текстовой строки) ua-cam.com/video/SLwvwnqet6Y/v-deo.html Видео 9.1: Классы QListWidget и QListView сопоставительный анализ, простой пример применения QListWidget ua-cam.com/video/mrBd2gFhVhk/v-deo.html Видео 9.2: Класс QListView пример применения с использованием QtCore.QabstractListModel ua-cam.com/video/yAu155q9Vsg/v-deo.html Видео 10: Python и Excel взаимодействие с excel (библиотеки xlrd, xlwt, openpyxl, win32com) ua-cam.com/video/pI54u-_SrX0/v-deo.html Видео 11: обзор виджета QTableWidget и практическое использование ua-cam.com/video/hPWMxINW004/v-deo.html Видео №12.1 обзор виджета QStackedWidget использование QComboBox и QPushButton в качестве переключателей ua-cam.com/video/eN9igb0U-8g/v-deo.html Видео №12.2 Продолжение обзора виджета QStackedWidget использование QToolButton в качестве переключателей, настройка статического и динамического внешнего вида QToolButton c использованием qss. ua-cam.com/video/FDOIel9V98E/v-deo.html Видео 12.3 Python готовое приложение с графическим интерфейсом (GUI) Qt и графической библиотекой Matplotlib (Обзор проекта текущее состояние на июль 2018г). ua-cam.com/video/QcGEY9ZDKhE/v-deo.html Видео 13.1 Python и создание базы данных данных на движке СУБД sqlite3 с использованием стандартной библиотеки. ua-cam.com/video/Tlc_Mi6bwOQ/v-deo.html Видео 13.2 Python и sqlite3 внесение изменений в базу данных (СУБД SQLite), практический пример управления данными в базе ua-cam.com/video/H-mSFkCY5ds/v-deo.html Видео 13.3 Python и sqlite3 хранение изображений в базе данных с СУБД SQLite, практический пример. ua-cam.com/video/UbHu_m182Tk/v-deo.html Видео 13.4 Python и sqlite3 интеграция функционала базы данных в проект PyScientistNotes. (скоро появится) Видео 14 Python и Qt обзор переход с PyQt4 на PyQt5 и далее на PySide2 ua-cam.com/video/VrbmGuMHr-I/v-deo.html Видео 15 Python и Qt стандартные диалоговые окна tutorial ua-cam.com/video/mAMEqZ0Zr4A/v-deo.html Видео 16 Python и PyQt "QDialog" - создание и настройка диалогового окна ua-cam.com/video/mt-gqU-q4B8/v-deo.html Видео 1S Matplotlib настройка axes для простого графика ua-cam.com/video/0d-Qmv46DnQ/v-deo.html Видео 2S Python и интерполяция в numpy и scipy ua-cam.com/video/_8Y4fh0bZ6A/v-deo.html Видео 3S Python и буфер обмена windows (текстовые данные) ua-cam.com/video/MbzjRZDTmUs/v-deo.html Видео 17 Python и PyQt класс Qthread пример многопоточности ua-cam.com/video/vcPTJX-nM94/v-deo.html Видео 1.1.Р Python и ООП создание петрофизической модели часть 1 ua-cam.com/video/QroC1sAQx_o/v-deo.html Видео 2Р Python PyQt5, Matplotlib и ООП архитектура приложения и создание приложения с GUI от начала и до конца
Здравствуйте! спасибо за очень полезные уроки! у меня один вопрос: как в этой программе в место простого txt файла можно загрузить las файл, с каротажными данными?
Такой возможности изначально не предусматривал. Вообще для парсинга las я как то программку писал. Попробую найти, выложу. Отпишусь тогда в этом комментарии
@@PyScientist Я переделала код под лас. когда нажимаю кнопку для вывода таблицы выходит следующий код: Process finished with exit code -1073740791 (0xC0000409). посмотрела в интернете. Там сказаноб что этот код указывает переполнение какойто памяти. я незнаю как исправит эту ошибку
Это PyQt ругается. Эта ошибка возникает вследствии того, что интерфейс падает, что является следствием другой ошибки. Чтобы las читать нужно формат понимать. Сейчас же там формат фактически это текст с разделителем точка с запятой. Формат не тот файл читается неправильно падает функция чтения в таблицу и падает само приложение.
Большое спасибо за видео! Все четко и понятно объясняется, еще и с примерами, что особенно важно. А можно ли как-то сделать так, чтоб на графики можно было кликать как на Push button и вызывать определенную функцию или всплывающее окно?
Благодарю за помощь в освоении Python! Очень пригождается для учебы!!! И возможно ли как в Excel в левом столбце вручную внести данные аргумента (X), а справа вывести из формулы значения функции (Y), а потом на графике отобразить Y? Или же в таблицу добавляется только текстовый файл с уже готовыми данными? Спасибо за ответ!
Да, конечно же можно, бэкенд может быть вообще любой, сформулируйте задачу, что за функция попробуем решить! Можно даже так, что функция будет динамически меняться
@@PyScientist Построить график функции y(x) и таблицу значений y(x) с шагом измерения аргумента h. Таблицу значений функции и аргумента необходимо вывести на экран в графическом режиме y = x^3-2x^2+1 шаг 0.02 Спасибо
На сколько я понял Вам вам подойдёт решение из видео #8. Там по уравнению, заданному в текстовом виде, можно построить функцию с помощью библиотеки numexpr.
все очень здорово! А как можно красиво отображать множество диаграмм в одном окне, приэтом каждую из диаграмм включать или выклучать? Это чясто нужно если идет записть данных, например отопление: темп1, темп2, темп3 ... time temp1 temp2 28.01.2020 09:35 11,10 13,60 28.01.2020 09:35 11,20 13,60 28.01.2020 09:35 11,30 13,60 28.01.2020 09:35 11,40 13,60 28.01.2020 09:36 11,50 13,60 28.01.2020 09:36 11,60 13,60 28.01.2020 09:36 11,70 13,60 28.01.2020 09:36 11,80 13,60 28.01.2020 09:36 11,90 13,60
Если нужно несколько диаграмм, то можно воспользоваться примером из видео 6.1 и 6.2, однако, их отключать не получится. Как вариант можно создать несколько экземпляров Mpl рисунка fig и обращаться к каждому по ссылке для их изменения. При необходимости убирать из размещения средствами qt, а также их возвращать. Вопрос хороший попробую реализовать на примере этой программы дополнив ее. Спасибо за интересный вопрос!
@@PyScientist у меня вот так получилос, все работает. (но я толь учусь) (self.chart = np.loadtxt('./file.csv', delimiter=',') def draw(self): self.graphicsView.clear() # for i in range(5): # show all charts abscissa = self.chart[:, 0] # self.gui.graphicsView.plot(abscissa, self.chart[:, i+1], pen=(i, 10)) if self.checkBox_1.isChecked(): ordinate_1 = self.chart[:, 1] self.graphicsView.plot(abscissa, ordinate_1, pen='b') if self.checkBox_2.isChecked(): ordinate_2 = self.chart[:, 2] self.graphicsView.plot(abscissa, ordinate_2, pen='g') if self.checkBox_3.isChecked(): ordinate_3 = self.chart[:, 3] self.graphicsView.plot(abscissa, ordinate_3, pen='m')
У меня 3.6. Информацию Вашу не подтверждаю. Можно ставить на любой python до 3.7, причем выбор рекомендую делать на python3.6 и pyqt5 или pyside2. Чтобы идти в ногу со временем. Почему так, а потому что 3.6 стабильнее, хотя 3.7 тоже, но не котрые библиотеки с ним не совместимы, а 3.8 вообще пока мало где есть. Не юзайте pytho 2.7. это контрпродуктивно.
Классное видео. В видео в 21.37 происходит конвертация с расширением py. У меня не конвертируется, все вроде делаю как в видео. Может стыкались с подобным.
Урок просто бомба. Как раз искал информацию по matplotlib и PyQt5. Путного ничего не мог найти. Всё как-то отрывочно и невнятно, а тут всё прямо по полочкам. Идеально. Большое спасибо. Полезнейший канал.
Здравствуйте, Сергей! Ценное видео! С возвращением!
Тайминг:
0:58 Общий обзор видео.
1:37 Этапы разработки ПО на Python да и не только на Python.
5:06 Принципы SOLID.
11:42 Постановка задачи разработки ПО и проработка основной идеи.
14:11 Написание front-end с использованием QtDesigner.
20:46 Конвертация файла ui в py для дальнейшего включения в программу.
21:56 Инициализация основного окна приложения.
26:24 Корректировка front-end с использованием PyCharm.
36:27 Помещаем холст с рисунком (полем для отображения графика) matplotlib в QWidget.
46:55 Настраиваем импорт данных из файла txt в таблицу QTableWidget для последующего их использования.
54:48 Настройка отображения данных в QTableWidget.
57:50 Отображение данных из таблицы QTableWidget на графике matplotlib (точнее на осях).
1:02:15 Создание backend подбора коэффициента "m" в уравнение электропроводности.
1:05:45 Наносим на график matplotib функцию иллюстрирующую одну из связей для вывода уравнения электропроводности.
1:07:15 Проверка работы программы с реальными данными.
Ссылка на оформленный исходный код прилагается:
pyscientist.ucoz.net/load/arkhiv_proekta_pycharm_coreelectroanalysis_v1_0/1-1-0-10#
Ссылки на предыдущие видео по теме:
Ссылки на предыдущие видео по теме:
Видео 1: Python настройка рабочего пространства, использование PyCharm
ua-cam.com/video/lN5B0vkRhww/v-deo.html
Видео 2: Python функции
ua-cam.com/video/ubBH-LBHglY/v-deo.html
Видео 3: Python классы
ua-cam.com/video/vJp9Uo3MJMY/v-deo.html
Видео 4: Графический интерфейс Qt для Python, или PyQt
ua-cam.com/video/btc0bi8m134/v-deo.html
Видео 5: Python компиляция программ, cx_Freeze и другие компиляторы
ua-cam.com/video/Ekc7jcq13ic/v-deo.html
Видео 6.1: Библиотека Matplotlib создание графиков для анализа данных
ua-cam.com/video/8V3y6NCdo0k/v-deo.html
Видео 6.2: Библиотека matplotlib и Qt встраивание графиков в графический интерфейс Qt
ua-cam.com/video/SLwvwnqet6Y/v-deo.html
Видео 7: Matplotlib модуль Animation класс FuncAnimation (автообновление графиков)
ua-cam.com/video/YQm1VDPVvww/v-deo.html
Видео 8: Библиотека Matplotlib, отображение графиков функции с использованием библиотеки numexpr (ввод функции из текстовой строки) ua-cam.com/video/SLwvwnqet6Y/v-deo.html
Видео 9.1: Классы QListWidget и QListView сопоставительный анализ, простой пример применения QListWidget
ua-cam.com/video/mrBd2gFhVhk/v-deo.html
Видео 9.2: Класс QListView пример применения с использованием QtCore.QabstractListModel
ua-cam.com/video/yAu155q9Vsg/v-deo.html
Видео 10: Python и Excel взаимодействие с excel (библиотеки xlrd, xlwt, openpyxl, win32com)
ua-cam.com/video/pI54u-_SrX0/v-deo.html
Видео 11: обзор виджета QTableWidget и практическое использование
ua-cam.com/video/hPWMxINW004/v-deo.html
Видео №12.1 обзор виджета QStackedWidget использование QComboBox и QPushButton в качестве переключателей
ua-cam.com/video/eN9igb0U-8g/v-deo.html
Видео №12.2 Продолжение обзора виджета QStackedWidget использование QToolButton в качестве переключателей, настройка статического и динамического внешнего вида QToolButton c использованием qss.
ua-cam.com/video/FDOIel9V98E/v-deo.html
Видео 12.3 Python готовое приложение с графическим интерфейсом (GUI) Qt и графической библиотекой Matplotlib (Обзор проекта текущее состояние на июль 2018г). ua-cam.com/video/QcGEY9ZDKhE/v-deo.html
Видео 13.1 Python и создание базы данных данных на движке СУБД sqlite3 с использованием стандартной библиотеки.
ua-cam.com/video/Tlc_Mi6bwOQ/v-deo.html
Видео 13.2 Python и sqlite3 внесение изменений в базу данных (СУБД SQLite), практический пример управления данными в базе
ua-cam.com/video/H-mSFkCY5ds/v-deo.html
Видео 13.3 Python и sqlite3 хранение изображений в базе данных с СУБД SQLite, практический пример.
ua-cam.com/video/UbHu_m182Tk/v-deo.html
Видео 13.4 Python и sqlite3 интеграция функционала базы данных в проект PyScientistNotes. (скоро появится)
Видео 14 Python и Qt обзор переход с PyQt4 на PyQt5 и далее на PySide2
ua-cam.com/video/VrbmGuMHr-I/v-deo.html
Видео 15 Python и Qt стандартные диалоговые окна tutorial
ua-cam.com/video/mAMEqZ0Zr4A/v-deo.html
Видео 16 Python и PyQt "QDialog" - создание и настройка диалогового окна
ua-cam.com/video/mt-gqU-q4B8/v-deo.html
Видео 1S Matplotlib настройка axes для простого графика
ua-cam.com/video/0d-Qmv46DnQ/v-deo.html
Видео 2S Python и интерполяция в numpy и scipy
ua-cam.com/video/_8Y4fh0bZ6A/v-deo.html
Видео 3S Python и буфер обмена windows (текстовые данные)
ua-cam.com/video/MbzjRZDTmUs/v-deo.html
Видео 17 Python и PyQt класс Qthread пример многопоточности
ua-cam.com/video/vcPTJX-nM94/v-deo.html
Видео 1.1.Р Python и ООП создание петрофизической модели часть 1
ua-cam.com/video/QroC1sAQx_o/v-deo.html
Видео 2Р Python PyQt5, Matplotlib и ООП архитектура приложения и создание приложения с GUI от начала и до конца
Пожалуйста чувак, не пропадай
Спасибо большое, ваши видео во многом помогают мне с дипломом!
А какая тема Вашего диплома если не секрет?
@@PyScientist, Если вкратце - разработка приложения для мониторинга станков с системой ЧПУ на основе базы данных
Автор крутой материал
куда пропадал ? я уже на С# успел перейти за это время и запилить несколько норм прог. Сейчас пилю программу для работы, учёт КИП.
Да по работе все неполучалось, теперь вернулся, сам уже на с++ начал временами что-то пытаться своять под python расширения и кое что самостоятельное.
Спасибо)
Здравствуйте! спасибо за очень полезные уроки!
у меня один вопрос: как в этой программе в место простого txt файла можно загрузить las файл, с каротажными данными?
Такой возможности изначально не предусматривал. Вообще для парсинга las я как то программку писал. Попробую найти, выложу. Отпишусь тогда в этом комментарии
@@PyScientist Спасибо
@@PyScientist Я переделала код под лас. когда нажимаю кнопку для вывода таблицы выходит следующий код:
Process finished with exit code -1073740791 (0xC0000409).
посмотрела в интернете. Там сказаноб что этот код указывает переполнение какойто памяти. я незнаю как исправит эту ошибку
Это PyQt ругается. Эта ошибка возникает вследствии того, что интерфейс падает, что является следствием другой ошибки. Чтобы las читать нужно формат понимать. Сейчас же там формат фактически это текст с разделителем точка с запятой. Формат не тот файл читается неправильно падает функция чтения в таблицу и падает само приложение.
@@PyScientistвсе исправила, программа заработала. Спасибо большое. Очень полезные материалы у Вас
Большое спасибо за видео! Все четко и понятно объясняется, еще и с примерами, что особенно важно.
А можно ли как-то сделать так, чтоб на графики можно было кликать как на Push button и вызывать определенную функцию или всплывающее окно?
Благодарю за помощь в освоении Python!
Очень пригождается для учебы!!!
И возможно ли как в Excel в левом столбце вручную внести данные аргумента (X), а справа вывести из формулы значения функции (Y), а потом на графике отобразить Y? Или же в таблицу добавляется только текстовый файл с уже готовыми данными?
Спасибо за ответ!
Да, конечно же можно, бэкенд может быть вообще любой, сформулируйте задачу, что за функция попробуем решить! Можно даже так, что функция будет динамически меняться
@@PyScientist Построить график функции y(x) и таблицу значений y(x) с шагом измерения аргумента h.
Таблицу значений функции и аргумента необходимо вывести на экран в графическом режиме
y = x^3-2x^2+1
шаг 0.02
Спасибо
На сколько я понял Вам вам подойдёт решение из видео #8. Там по уравнению, заданному в текстовом виде, можно построить функцию с помощью библиотеки numexpr.
Эх, жаль нет объяснения построчного в обобщающем файле...
Комментариев, Вы имеете ввиду? Или по коду ещё раз пройтись рассказать как что делается?
все очень здорово! А как можно красиво отображать множество диаграмм в одном окне, приэтом каждую из диаграмм включать или выклучать? Это чясто нужно если идет записть данных, например отопление: темп1, темп2, темп3 ...
time temp1 temp2
28.01.2020 09:35 11,10 13,60
28.01.2020 09:35 11,20 13,60
28.01.2020 09:35 11,30 13,60
28.01.2020 09:35 11,40 13,60
28.01.2020 09:36 11,50 13,60
28.01.2020 09:36 11,60 13,60
28.01.2020 09:36 11,70 13,60
28.01.2020 09:36 11,80 13,60
28.01.2020 09:36 11,90 13,60
Если нужно несколько диаграмм, то можно воспользоваться примером из видео 6.1 и 6.2, однако, их отключать не получится. Как вариант можно создать несколько экземпляров Mpl рисунка fig и обращаться к каждому по ссылке для их изменения. При необходимости убирать из размещения средствами qt, а также их возвращать. Вопрос хороший попробую реализовать на примере этой программы дополнив ее. Спасибо за интересный вопрос!
@@PyScientist у меня вот так получилос, все работает. (но я толь учусь)
(self.chart = np.loadtxt('./file.csv', delimiter=',')
def draw(self):
self.graphicsView.clear() # for i in range(5): # show all charts
abscissa = self.chart[:, 0] # self.gui.graphicsView.plot(abscissa, self.chart[:, i+1], pen=(i, 10))
if self.checkBox_1.isChecked():
ordinate_1 = self.chart[:, 1]
self.graphicsView.plot(abscissa, ordinate_1, pen='b')
if self.checkBox_2.isChecked():
ordinate_2 = self.chart[:, 2]
self.graphicsView.plot(abscissa, ordinate_2, pen='g')
if self.checkBox_3.isChecked():
ordinate_3 = self.chart[:, 3]
self.graphicsView.plot(abscissa, ordinate_3, pen='m')
А какая у вас версия python? Просто я смотрел, что pyqt можно только на 2.7 установить
У меня 3.6. Информацию Вашу не подтверждаю. Можно ставить на любой python до 3.7, причем выбор рекомендую делать на python3.6 и pyqt5 или pyside2. Чтобы идти в ногу со временем. Почему так, а потому что 3.6 стабильнее, хотя 3.7 тоже, но не котрые библиотеки с ним не совместимы, а 3.8 вообще пока мало где есть. Не юзайте pytho 2.7. это контрпродуктивно.
И посмотрите мои видео 4, 14 там подробно рассказываю откуда чего брать!
@@PyScientist , понял, спасибо!
Классное видео. В видео в 21.37 происходит конвертация с расширением py. У меня не конвертируется, все вроде делаю как в видео. Может стыкались с подобным.
Какого рода ошибка или вообще не конвертирует, какая версия PyQt5
@@PyScientist QtDesigner 5.11.1 Ввёл все как в видео, а файл py не появляется.
Попробуйте в cmd тоже ввести какая ошибка будет
Коммандной строке винды
@@PyScientist В cmd пишет pyuic5 не является внутренней или внешней командой, исполняемый программой или ракетным файлом
плохо видно
А Вы на каком разрешении смотрите? Там до 1080 поддержка, возможно некоторые места смонтировал неудачно?