Как заставить matplotlib работать в интерактивном режиме на raspberry PI

#matplotlib #raspberry-pi

#matplotlib #raspberry-pi

Вопрос:

У меня есть этот код на python, работающий на Raspberry PI

 import spidev
import time
import os
import matplotlib.pyplot as plt


spi = spidev.SpiDev()
spi.open(0,0)
spi.max_speed_hz = 100000

def readTemp():
    x = spi.readbytes(4)
    temp = ((x[0] << 8) | x[1]) >> 4
    temp  = ((x[1] amp; 15) >> 2)*.25
    return temp


plt.ion()
plt.plot([1.6, 2.7])

i = 0

while i <= 10:
    print(readTemp())
    time.sleep(1)
    i = i   1
  

Когда я запускаю этот код, цифра, полученная из строки plt.plot(), не появляется до тех пор, пока цикл while не будет завершен. Я хочу, чтобы фигура появлялась при появлении строки plt.plot(), прежде чем даже начнется цикл while. Пожалуйста, помогите мне понять, почему фигура ждет, пока программа не завершит работу, чтобы появиться.

Ответ №1:

Измените time.sleep(1) на plt.pause(1).

Это pause вызовет график, а также позволит вам обновлять график итеративно во время цикла.