Confronta i dati sulla temperatura di tre giorni diversi
Questo esempio mostra come leggere i dati da un canale ThingSpeak ™ esistente e generare un grafico con tre serie sullo stesso asse. Nell'esempio, come punto di partenza, si utilizza uno dei modelli di codice forniti dalle app MATLAB Analysis e MATLAB Visualizations in ThingSpeak.
Il canale 12397 di ThingSpeak contiene dati meteorologici provenienti da una stazione meteorologica situata in cima a un parcheggio nel campus MathWorks ® a Natick, MA. Il campo 4 contiene la misurazione della temperatura.
Crea una visualizzazione MATLAB dal codice del modello
Per creare una visualizzazione di tre serie di dati da un canale ThingSpeak, puoi scrivere uno script MATLAB utilizzando il modello di codice fornito nell'app Visualizzazioni MATLAB.
Vai alla scheda App e fai clic su Visualizzazioni MATLAB. Fai clic su Nuovo, scegli Confronta i dati di temperatura di tre giorni diversi e fai clic su Crea.

Visualizza i tuoi dati
ThingSpeak popola il campo MATLAB Codice con il codice per generare un grafico lineare a tre serie.
1) Impostare le variabili per comunicare con ThingSpeak. In questo esempio, la chiave API di lettura non è necessaria perché il canale della stazione meteorologica è pubblico. Se stai leggendo dal tuo canale, puoi modificare questi valori.
readChannelID = 12397;
TemperatureFieldID = 4;
readAPIKey = '';2) Utilizzare thingSpeakRead per recuperare i dati per ogni giorno. Specificando 'DateRange' è possibile impostare le date di inizio e di fine della raccolta dati.
temperatureDay1 = thingSpeakRead(readChannelID,'Fields',TemperatureFieldID,'dateRange',... [datetime('today')-days(1),datetime('today')],'ReadKey',readAPIKey); temperatureDay2 = thingSpeakRead(readChannelID,'Fields',TemperatureFieldID,'dateRange',... [datetime('today')-days(2),datetime('today')-days(1)],'ReadKey',readAPIKey); temperatureDay3 = thingSpeakRead(readChannelID,'Fields',TemperatureFieldID,'dateRange',... [datetime('today')-days(3),datetime('today')-days(2)],'ReadKey',readAPIKey);
3) Creare un array di durate che corrisponda alla lunghezza di ciascun set di dati. La durata di ogni serie varia a seconda dell'ora esatta di inizio. Le misurazioni vengono effettuate ogni minuto, ma non sono allineate ogni giorno.
myTimes1=minutes(1:length(temperatureDay1)); myTimes2=minutes(1:length(temperatureDay2)); myTimes3=minutes(1:length(temperatureDay3));
4) Utilizzare plot e hold per generare i grafici. Imposta la legenda per differenziare la serie utilizzando legend. Quindi fornisci i titoli degli assi e dei grafici con xlabel, ylabel e title.
plot(myTimes1,temperatureDay1, myTimes2,temperatureDay2, myTimes3,temperatureDay3);
legend({'Day1','Day2','Day3'});
xlabel('Minutes')
ylabel('Temperature F');
title('Three-Day Temperature Comparison');
5) Puoi modificare il codice del modello per adattarlo alla tua applicazione. Ad esempio, modifica il codice per cambiare il numero di giorni da leggere e i titoli dei grafici. Premere Salva ed esegui per generare il grafico.
Poiché il grafico è generato da dati reali, il grafico sarà simile ma non identico a questo grafico.
Sovrapponendo i dati sullo stesso grafico si notano tre diversi comportamenti nella variazione della temperatura durante il giorno.
6) Facoltativamente, puoi aggiungere visualizzazioni salvate al tuo canale. In Impostazioni di visualizzazione, usa il segno più accanto a Aggiungi/modifica questa visualizzazione a un canale per espandere l'elenco dei canali.

Fare clic sulla casella di controllo relativa al canale a cui si desidera aggiungere la visualizzazione. Per aggiungere visualizzazioni private, seleziona Visualizzazione 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
corrcoef(MATLAB) |thingSpeakRead|plot(MATLAB) |xlabel(MATLAB) |ylabel(MATLAB) |title(MATLAB) |hold(MATLAB)