Main Content

Questa pagina è stata tradotta con la traduzione automatica. Fai clic qui per vedere l'ultima versione in inglese.

Utilizzare il grafico dell'area per confrontare i set di dati sul traffico

Le app MATLAB® Analysis e MATLAB Visualizations in ThingSpeak™ ti consentono di scegliere tra una selezione di modelli di codice come punto di partenza per costruire il tuo progetto. Questo esempio dimostra l'uso di un grafico ad area per confrontare due variabili simili con i dati letti da un canale ThingSpeak™ esistente.

ThingSpeak channel 38629 contiene dati sul traffico dalla Route 9 a Natick, Massachusetts. I dati vengono generati da un feed video elaborato con un algoritmo di conteggio su un Raspberry Pi. Il campo 1 contiene il conteggio delle auto in direzione ovest, mentre il campo 2 contiene il conteggio delle auto in direzione est.

Crea un MATLAB Visualizzazione dal codice modello

Per creare un grafico ad area di un insieme di dati da un canale ThingSpeak , crea uno script MATLAB utilizzando il modello di codice fornito.

Passare alla scheda App e selezionare Visualizzazioni MATLAB . Fare clic su Nuovo, scegliere Utilizza il grafico dell'area per confrontare i set di dati sul traffico e fare clic su Crea.

Visualizza i tuoi dati

ThingSpeak popola il campo Codice MATLAB con il codice modello per leggere i dati e quindi generare il grafico dell'area.

1) Impostare le variabili per comunicare con ThingSpeak. Il canale del contatore auto è pubblico, quindi non è necessario aggiungere la chiave API di lettura. Se stai leggendo dal tuo canale, puoi modificare questi valori.

readChannelID = 38629;
readAPIKey = '';

2) Utilizzare thingSpeakRead per leggere i campi 1 e 2 delle ultime 33 ore di dati. L'utilizzo del formato di output dell'orario semplifica la manipolazione dei tempi e la media dei dati.

carData = thingSpeakRead(readChannelID,'Fields',[1 2],'NumMinutes',2000,...
    'ReadKey',readAPIKey,'Outputformat','Timetable');

3) Utilizzare retime per calcolare la media dei dati in ogni ora e salvarla in un nuovo orario. Poiché il contatore dell'auto registra un valore ogni 15 secondi, spesso nelle fluttuazioni di 15 secondi si nascondono trend con un periodo più lungo. Moltiplicare la media di 15 secondi per 240 per esprimere la media in termini di numero di auto in un'ora.

aveCar = retime(carData,'hourly','mean');
eastCars = aveCar.DensityOfEastboundCars*240;
westCars = aveCar.DensityOfWestboundCars*240;

4) Utilizzare area per tracciare i dati in direzione est e quelli in direzione ovest sullo stesso asse. Utilizzare xlabel, ylabel e legend per impostare le etichette appropriate sul grafico. Puoi modificare il codice del modello per adattarlo alla tua applicazione. Ad esempio, puoi modificare il numero di giorni da leggere e i titoli dei grafici nel codice. Tieni presente che thingSpeakRead può leggere solo 8000 punti dati in una singola lettura, ovvero poco più di un singolo giorno di dati.

area(aveCar.Timestamps,[eastCars,westCars]);
xlabel('Time');
ylabel('Average Car Density per Hour');
legend({'East','West'});

5) Premi Salva ed esegui per generare il grafico. Il grafico dell'area viene generato da dati in tempo reale, quindi la tua visualizzazione è diversa da questo grafico. Nota i picchi prominenti nelle ore di punta e durante l'ora di pranzo. Il grafico indica che è meglio andare al lavoro prima delle 6:00 e tornare a casa dopo le 20:00.

Aggiungi visualizzazione alla visualizzazione del tuo canale

Facoltativamente, puoi aggiungere visualizzazioni salvate al tuo canale. In Impostazioni di visualizzazione, utilizza il segno più accanto a Aggiungi/modifica questa visualizzazione a un canale per espandere l'elenco dei canali.

Fare clic sulla casella di controllo corrispondente al canale a cui si desidera aggiungere la visualizzazione. Per aggiungere visualizzazioni private, seleziona Vista privata. Per condividere l'URL e aggiungere la visualizzazione alla Visualizzazione pubblica, fare clic su Crea un URL pubblico. Per aggiornare le selezioni, fare clic su Salva impostazioni di visualizzazione.

Vedi anche

Funzioni

Esempi correlati

Ulteriori informazioni