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

Рисование графика в реальном времени

20.04.2018, 15:09. Показов 24233. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! появился вопрос рисование графика в реальном времени. Нужно дорисоваывать график при поступлении новых данных. В интернете много примеров, но почему-то все они, вместо того, чтобы дорисовывать открывают новый график и рисуют там.


Вот один из примеров, как мне дорисовать на том же графике ? В идеале надо соединить с прошлой точкой. Спасибо!
Python
1
2
3
4
5
6
7
8
9
10
import numpy as np
import matplotlib.pyplot as plt
 
plt.axis([0, 10, 0, 10])
 
 
for i in range(10):
    y = np.random.random()
    plt.scatter(i, y)
    plt.pause(1)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.04.2018, 15:09
Ответы с готовыми решениями:

PyQtGraph, рисование графика в реальном времени, за счёт изменения параметра
Добрый день! Мне нужно, чтобы график менялся в зависимости, от того, что введено в spinBox. Как взять из спинбокса значение, поместить его...

Построение графика в реальном времени
Здравствуйте! Написал код, который строит модель математического маятника: from math import * import pygame import numpy as np ...

Построение графика в реальном времени
Привет всем! Так называемый Бегущий график требуется построить :) В интернете поиск не дал ничего толкового. Суть заключается в том, что...

19
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
20.04.2018, 15:51
Лучший ответ Сообщение было отмечено fyria30 как решение

Решение

Вот тут обсуждается обновление графика https://stackoverflow.com/ques... matplotlib
1
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
20.04.2018, 17:58
Matplotlib медленный, рекомендую pyqtgraph.
1
1 / 1 / 0
Регистрация: 11.07.2015
Сообщений: 62
21.04.2018, 15:45  [ТС]
Да, я уже натыкался, но этот пример не работает, собственно поэтому и написал сюда.
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
21.04.2018, 17:13
Цитата Сообщение от dondublon Посмотреть сообщение
pyqtgraph
Кстати, попробуй, может подойдет, там даже пример есть обновляемых данных

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
from pyqtgraph.Qt import QtGui, QtCore
import numpy as np
import pyqtgraph as pg
 
app = QtGui.QApplication([])
 
win = pg.GraphicsLayoutWidget(show=True, title="Basic plotting examples")
win.resize(800,600)
win.setWindowTitle('pyqtgraph example: Plotting')
 
pg.setConfigOptions(antialias=True)
 
p = win.addPlot(title="Updating plot")
curve = p.plot(pen='y')
data = np.random.normal(size=(10,1000))
ptr = 0
def update():
    global curve, data, ptr, p6
    curve.setData(data[ptr%10])
    if ptr == 0:
        p.enableAutoRange('xy', False)
    ptr += 1
timer = QtCore.QTimer()
timer.timeout.connect(update)
timer.start(50)
 
if __name__ == '__main__':
    import sys
    if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
        QtGui.QApplication.instance().exec_()
2
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
21.04.2018, 17:27
Вот что получилось
Миниатюры
Рисование графика в реальном времени  
2
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,764
21.04.2018, 21:37
там примеров много
Python
1
2
>>> import pyqtgraph.examples as ex
>>> ex.run()
Basic Plotting
0
1 / 1 / 0
Регистрация: 11.07.2015
Сообщений: 62
09.05.2018, 14:54  [ТС]
Этот пример не работает, что-то с библиотеками. Ошибка Exception: PyQtGraph requires either PyQt4 or PySide; neither package could be imported. Хотя и установка проходит успешно, в списке библиотек PyQt4 не появляется. Python 3.5. Есть какие-то предположения ? Уже неделю сижу, ничего не нарыл
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
09.05.2018, 15:19
Последовательность установки

Отсюда https://github.com/pyqtgraph/pyqtgraph скачиваем архив, разархивируем его и получаем папку pyqtgraph-develop

Заходим в папку и открываем там командную строку, набираем команды

pip install pyqt5
pip install numpy
setup.py build
setup.py install
1
1 / 1 / 0
Регистрация: 11.07.2015
Сообщений: 62
09.05.2018, 16:16  [ТС]
Увы, все тоже самое, не помогло
PyQtGraph requires either PyQt4 or PySide; neither package could be imported.
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
09.05.2018, 16:43
Может уже установленные библиотеки мешают, попробуйте виртуальное окружение

python -m venv venv
venv\scripts\activate
pip install pyqt5
pip install numpy
setup.py build
setup.py install
2
Фрилансер
 Аватар для Black Fregat
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
10.05.2018, 05:02
У меня почему-то выругалось на все ключевые аргументы в GraphicsLayoutWidget()
Пришлось их убрать и добавить отдельной командой win.show() - тогда заработало
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
10.05.2018, 13:14
Цитата Сообщение от ТабуретY Посмотреть сообщение
Отсюда https://github.com/pyqtgraph/pyqtgraph скачиваем архив, разархивируем его и получаем папку pyqtgraph-develop
А почему бы не установить из инета, как обычно?
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
10.05.2018, 13:46
dondublon, проблема какая-то была, но если сработает обычный способ, тогда, конечно, лучше через инет
1
1 / 1 / 0
Регистрация: 11.07.2015
Сообщений: 62
11.05.2018, 11:47  [ТС]
Цитата Сообщение от dondublon Посмотреть сообщение
А почему бы не установить из инета, как обычно?
Что Вы имеете ввиду когда говорите из интернета, как обычно? Я новичок, использую PyCharm и библиотеки устанавливал через него, в меню настройки. Если Вы не это имеете ввиду, поделитесь пожалуйста Вашим способом, буду благодарен.

Цитата Сообщение от ТабуретY Посмотреть сообщение
Может уже установленные библиотеки мешают, попробуйте виртуальное окружение
python -m venv venv
venv\scripts\activate
pip install pyqt5
pip install numpy
setup.py build
setup.py install

К сожалению, тоже самое.

Exception: PyQtGraph requires either PyQt4 or PySide; neither package could be imported.

В проекте использую Matplotlib библиотеку, поэтому стараюсь работать через неё, все что я смог вытащить из интернета, для анимации графиков через, почему-то не работает, я сетую на версию python, так как я использую 3.5, примеры в основном для 3-, доходит до банальных вещей, что функция fig.draw не работает. Могут ли быть какие-то еще варианты, почему примеры не работает, кроме расхождения в версиях Python, как Вы считаете ?
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
11.05.2018, 11:48
fyria30, как обычно - это через pip.
FAQ: Установка библиотек для Python
PyCharm имеет свою обёртку для него.
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
11.05.2018, 12:10
fyria30, Попробуйте установить python версии 3.6
0
Фрилансер
 Аватар для Black Fregat
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
11.05.2018, 18:57
У меня до сих пор стоит 3.5, точно по инструкции из поста 11 поставил на venv, подшаманил параметры (12) - заработало
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
11.05.2018, 19:02
Цитата Сообщение от fyria30 Посмотреть сообщение
Exception: PyQtGraph requires either PyQt4 or PySide; neither package could be imported
Странная ошибка, я попробовал запустить без pyqt и выдало

Exception: PyQtGraph requires either PyQt4 or PyQt5 or PySide; neither package could be imported

У вас библиотека почему-то не знает про PyQt5
1
1 / 1 / 0
Регистрация: 11.07.2015
Сообщений: 62
12.05.2018, 12:21  [ТС]
Цитата Сообщение от ТабуретY Посмотреть сообщение
Странная ошибка, я попробовал запустить без pyqt и выдало
Exception: PyQtGraph requires either PyQt4 or PyQt5 or PySide; neither package could be imported
У вас библиотека почему-то не знает про PyQt5
Да, я понимаю, об этом и речь, показывает что библиотека установлена, в списке в PyCharm она имеется, пробовал устанавливать через интернет, все равно не избавиться, никак мне не добиться чтобы он её распознал, буду дальше пытаться найти что-то через matplotlib. В любом случае, большое спасибо Вам за помощь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.05.2018, 12:21
Помогаю со студенческими работами здесь

Рисование графика в реальном времени
Доброго времени суток! Есть такое задание Требуется составить программу демонстрирующую: Движение снаряда, который выпущен с начальной...

Построение графика в реальном времени
Доброго времени суток. Возник такой вопрос. Можно ли в Lazarus строить график в реальном времени. С графиками дело вообще никогда не имел...

Zedgraph в реальном времени 4 графика
Доброго времени суток. Есть некий 4-х канальный источник, который с частотой в 44 кГц подает данные по 4 каналам. Мне требуется...

Отображение графика в реальном времени
Здравствуйте. Нужно в реальном времени строить график по информации, поступающей с COM-порта. (Наподобие кардиограммы) Данные на...

Вывод графика в реальном времени
Всем привет! Мне необходимо вывести в реальном времени график ЭКГ/ЭЭГ сигнала, поступающего с внешнего устройства. Сделал на...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере 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. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru