Как сделать живые графики, построенные на одном графике? - PullRequest
0 голосов
/ 27 декабря 2018

Я пытаюсь показать графики в реальном времени (динамическое построение графиков), используя python.Тем не менее, результат не отображался на одном графике, а генерировал новый каждую секунду, что не означало обновления живого графика.Как я могу решить это?Есть ли проблема в моем коде?

import serial
import time
import matplotlib.pyplot as plt
from drawnow import drawnow

DataList = []
pcs = serial.Serial('COM4', baudrate = 9600, timeout = 1)
time.sleep(3)
plt.ion()

def makeFig():
    plt.plot(DataList, 'rd-')

def getValues():
    pcs.write(b"MEASure:VOLTage:DC?\n")
    pcsData = pcs.readline().decode('ascii').split('\n\r')
    DataList.append(float(pcsData[0]))


while(1):
    getValues()
    drawnow(makeFig)
    plt.pause(.000001)

Снимок результата: enter image description here

1 Ответ

0 голосов
/ 27 декабря 2018

drawnow, названный таким образом, задуман как одноразовый розыгрыш.Посмотрите, исправит ли drawnow(caller, show_once=True) вашу проблему, в противном случае вам, возможно, придется поискать в другом месте, например, с использованием альтернативных функций построения графиков:

Как построить график в реальном времени в цикле while с помощью matplotlib?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...