Verwenden Sie Flächendiagramme zum Vergleichen von Verkehrsdatensätzen
Mit den Apps „MATLAB ® Analysis“ und „MATLAB Visualizations“ in „ThingSpeak ™“ können Sie aus einer Auswahl von Codevorlagen als Ausgangspunkt für die Erstellung Ihres eigenen Projekts auswählen. Dieses Beispiel demonstriert die Verwendung eines Flächendiagramms zum Vergleichen zweier ähnlicher Variablen mit Daten, die aus einem vorhandenen ThingSpeak™-Kanal gelesen wurden.
ThingSpeak Kanal 38629 enthält Verkehrsdaten von Route 9 in Natick, Massachusetts. Die Daten werden aus einem Video-Feed generiert, der mit einem Zählalgorithmus auf einem Raspberry Pi verarbeitet wird. Feld 1 enthält die Anzahl der Autos in Richtung Westen und Feld 2 die Anzahl der Autos in Richtung Osten.
Erstellen Sie eine MATLAB Visualisierung aus Vorlagencode
Um ein Flächendiagramm eines Datensatzes aus einem ThingSpeak-Kanal zu erstellen, erstellen Sie mithilfe der bereitgestellten Codevorlage ein MATLAB-Skript.
Navigieren Sie zur Registerkarte Apps und wählen Sie MATLAB Visualizations aus. Klicken Sie auf New, wählen Sie Use area plot to compare traffic data sets und klicken Sie auf Create.

Visualisieren Sie Ihre Daten
ThingSpeak füllt das Feld MATLAB Code mit Vorlagencode, um die Daten zu lesen und dann das Flächendiagramm zu generieren.
1) Legen Sie die Variablen für die Kommunikation mit ThingSpeak fest. Der Autozählerkanal ist öffentlich, Sie müssen also den Read-API-Schlüssel nicht hinzufügen. Wenn Sie von Ihrem eigenen Kanal lesen, können Sie diese Werte ändern.
readChannelID = 38629;
readAPIKey = '';2) Verwenden Sie thingSpeakRead, um die Felder 1 und 2 der Daten der letzten 33 Stunden zu lesen. Die Verwendung des Timetable-Ausgabeformats vereinfacht die Zeitmanipulation und die Mittelwertbildung von Daten.
carData = thingSpeakRead(readChannelID,'Fields',[1 2],'NumMinutes',2000,... 'ReadKey',readAPIKey,'Outputformat','Timetable');
3) Verwenden Sie retime, um die Daten über jede Stunde zu mitteln und in einem neuen Zeitplan zu speichern. Da der Autozähler alle 15 Sekunden einen Wert erfasst, verbergen sich in den 15-Sekunden-Schwankungen oft Trends mit längerer Periode. Multiplizieren Sie den 15-Sekunden-Durchschnitt mit 240, um den Durchschnitt in Bezug auf die Anzahl der Autos in einer Stunde auszudrücken.
aveCar = retime(carData,'hourly','mean'); eastCars = aveCar.DensityOfEastboundCars*240; westCars = aveCar.DensityOfWestboundCars*240;
4) Verwenden Sie area, um die Daten in östlicher und westlicher Richtung auf derselben Achse darzustellen. Verwenden Sie xlabel, ylabel und legend, um die entsprechenden Beschriftungen auf dem Diagramm festzulegen. Sie können den Vorlagencode bearbeiten, damit er zu Ihrer Anwendung passt. Sie können beispielsweise die Anzahl der zu lesenden Tage und die Diagrammtitel im Code bearbeiten. Bedenken Sie, dass thingSpeakRead in einem einzigen Lesevorgang nur 8000 Datenpunkte lesen kann, was etwas mehr als den Daten eines einzigen Tages entspricht.
area(aveCar.Timestamps,[eastCars,westCars]); xlabel('Time'); ylabel('Average Car Density per Hour'); legend({'East','West'});

5) Drücken Sie Save and Run , um das Diagramm zu generieren. Das Flächendiagramm wird aus Echtzeitdaten generiert, daher unterscheidet sich Ihre Visualisierung von diesem Diagramm. Beachten Sie die markanten Spitzen während der Stoßzeiten und während der Mittagspause. Die Darstellung zeigt, dass es am besten ist, vor 6 Uhr morgens zur Arbeit aufzubrechen und nach 20 Uhr nach Hause zu gehen.
Fügen Sie Ihrer Kanalansicht eine Visualisierung hinzu
Optional können Sie Ihrem Kanal gespeicherte Visualisierungen hinzufügen. Verwenden Sie in den Display Settings das Pluszeichen neben Add/Edit this Visualization to a Channel, um die Kanalliste zu erweitern.

Klicken Sie auf das Kontrollkästchen für den Kanal, zu dem Sie die Visualisierung hinzufügen möchten. Um private Visualisierungen hinzuzufügen, aktivieren Sie Private Ansicht. Um die URL freizugeben und die Visualisierung zur Public View hinzuzufügen, klicken Sie auf Create a public URL. Um Ihre Auswahl zu aktualisieren, klicken Sie auf Save Display Settings.

Siehe auch
Funktionen
Histogram(MATLAB) |thingSpeakRead|area(MATLAB) |retime(MATLAB) |xlabel(MATLAB) |ylabel(MATLAB) |legend(MATLAB)