Domanda Aiuto script Grafico sensore

Mick78

Utente Iron
19 Maggio 2023
2
2
2
6
Buongiorno,
ho istallato su un raspberry un sensore SHT40 per misurare l'umidità e tempertaura.
Configurato e funzionante con questo script, che mi genera un grafico animato con Thonny.

Ecco lo script:

import matplotlib.pyplot as plt
from datetime import datetime
from matplotlib import pyplot
from matplotlib.animation import FuncAnimation
import time
import board
import adafruit_sht4x

i2c = board.I2C() # uses board.SCL and board.SDA
sht = adafruit_sht4x.SHT4x(i2c)
print("Found SHT4x with serial number", hex(sht.serial_number))

sht.mode = adafruit_sht4x.Mode.NOHEAT_HIGHPRECISION
print("Current mode is: ", adafruit_sht4x.Mode.string[sht.mode])

plt.style.use('ggplot')
x_data = []
y_data = []

figure = pyplot.figure()
line, = pyplot.plot_date(x_data, y_data, '-')

def grafica3(frame):

temperature, relative_humidity = sht.measurements
# temperature = temperature + 10 #offset temperature
# relative_humidity = relative_humidity - 2.5 #offset humidity

# print("Temperature: %0.2f °C" % temperature)
# print("Humidity: %0.2f %%" % relative_humidity)
print("temperature: %.2f °C / humidity: %.2f %%" % (temperature, relative_humidity))
# print("")
Ru = relative_humidity

plt.ylim(50,100)

plt.title('SHT 40')
plt.ylabel('Umidità %')
plt.xlabel('Tempo')

x_data.append(datetime.now())
y_data.append(Ru)

line.set_data(x_data, y_data)
figure.gca().relim()
figure.gca().autoscale_view()

time.sleep(10)

return line,

animacion3 = FuncAnimation(figure, grafica3, interval=300)
pyplot.show()


Ogni 10 secondi, legge il valore dell'umidità, e man mano che scorre il tempo il grafico nella x si adatta, "si compatta".
La mia domanda è la seguente: c'è una possibilità, di impostare la x fissa, per esempio con un range di 0-500 e ad ogni lettura del valore del sensore,
vedere la linea che piano piano cresce verso destra, fino a riempite tutto il grafico?
Purtroppo sono alle prime armi, e non sono riuscito a trovare un aiuto...
Grazie per l'attenzione