Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/51: Рейтинг темы: голосов - 51, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 25.02.2015
Сообщений: 9
PyQt4

Вывести график matplotlib в QWidget

09.04.2017, 15:02. Показов 10604. Ответов 1

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста как вывести график который строится с помощью библиотеки matplotlib не в её контейнер "plot" а в QWidget либо в QGraphicsView на пользовательской форме.
библиотека позволяет рисовать plt.plot(x, y, '-', color='blue', linewidth=1), но как рисовать график в пользовательской форме?

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
from __future__ import unicode_literals
import sys
import os
import random
from PyQt4 import QtCore, QtGui
from numpy import arange, sin, pi
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.figure import Figure
import matplotlib.pyplot as plt
 
x = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]
y = [44,556,53,345,34,45,44,22,435,1,232,343,345,67,11,42,23,43]
print(x, '\n')
print(y, '\n')
#---------------------------------------
# Первая область рисования
plt.plot(x, y, '-', color='blue', linewidth=1)
#---------------------------------------
        
# Рисуем пользовательскую форму------------------------
try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    def _fromUtf8(s):
        return s
 
try:
    _encoding = QtGui.QApplication.UnicodeUTF8
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig)
 
class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName(_fromUtf8("Form"))
        Form.resize(774, 418)
        self.pushButton = QtGui.QPushButton(Form)
        self.pushButton.setGeometry(QtCore.QRect(660, 280, 75, 23))
        self.pushButton.setObjectName(_fromUtf8("pushButton"))
        self.my_widget = QtGui.QWidget(Form)
        self.my_widget.setGeometry(QtCore.QRect(20, 10, 741, 241))
        self.my_widget.setObjectName(_fromUtf8("my_widget"))
 
        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)
 
    def retranslateUi(self, Form):
        Form.setWindowTitle(_translate("Form", "Form", None))
        self.pushButton.setText(_translate("Form", "PushButton", None))
# Рисуем пользовательскую форму------------------------
 
plt.show()#это рисует matplotlib график
 
app = QtGui.QApplication(sys.argv)
window = QtGui.QWidget()
ui = Ui_Form()
ui.setupUi(window)
QtCore.QObject.connect(ui.pushButton, QtCore.SIGNAL("clicked()"), QtGui.qApp.quit)
window.show()
sys.exit(app.exec_())
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.04.2017, 15:02
Ответы с готовыми решениями:

Как обновлять график matplotlib в QWidget?
Доброго времени суток! Я делал школьный проект на python И всё бы ничего, но у меня не получается обновлять график функции в своей...

Вывести график по модели SIR, используя библиотеку Matplotlib
Вот код. Суть программы вывести график по модели SIR, использую библиотеку Matplotlib. Только у меня возникла проблема з выводом) Помогите...

Как на форму QT Designer вывести график из matplotlib?
Добрый день, пытаюсь добавить на форму QT Designer график из matplotlib. Для этого использую функцию из контекстного меню promoted to ...

1
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
10.04.2017, 10:39
Цитата Сообщение от kkkostya Посмотреть сообщение
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
А эту строку вы откуда взяли?
Там и должен быть ответ на ваш вопрос.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.04.2017, 10:39
Помогаю со студенческими работами здесь

График в matplotlib
Написать файл-сценарий для построения графика прямоугольного импульса, продолжительность и амплитуда которого будет задаваться с...

График в matplotlib
Добрый день. Имеем два массива: и Только это массив не времени, а времени выполнения (т.е. задача выполнялась 4 часа 8 минут 42...

График matplotlib
Доброго времени суток. Нужна помощь, не понимаю, почему данные в график постоянно прибавляются, а не обновляются, в итоге график имеет...

График matplotlib
Добрый день,ситуация в том,что график необходимо построить таким образом,чтобы на оси x конкретные(все) значения массива q и добавить линии...

Не отображается график matplotlib
Написал программу, которая минимизирует функцию методом Бокса. Пытаюсь сделать так, чтобы точки на графике появлялись по очереди после...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru