比较三天的温度数据
此示例显示如何从现有的 ThingSpeak™ 通道读取数据并生成同一轴上有三个系列的图。在示例中,作为起点,您使用 ThingSpeak 中的 MATLAB Analysis 和 MATLAB Visualization App 提供的代码模板之一。
ThingSpeak 通道 12397 包含来自位于马萨诸塞州纳蒂克 MathWorks® 园区停车场顶部的气象站的气象数据。字段 4 包含温度测量值。
从模板代码创建 MATLAB Visualization
要创建来自 ThingSpeak 通道的三个系列数据的可视化,您可以使用 MATLAB Visualization App 中提供的代码模板编写 MATLAB 脚本。
转至 Apps 选项卡,然后点击 MATLAB Visualization。点击 New,选择 Compare temperature data from three different days,然后点击 Create。
可视化您的数据
ThingSpeak 使用代码填充 MATLAB Code 字段以生成三系列线图。
1) 设置与 ThingSpeak 通信的变量。在此示例中,读取 API 密钥是不必要的,因为气象站通道是公共的。如果您正在从自己的通道阅读,则可以修改这些值。
readChannelID = 12397;
TemperatureFieldID = 4;
readAPIKey = '';
2) 使用 thingSpeakRead
检索每天的数据。指定 'DateRange'
允许您设置数据收集的停止和开始日期。
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) 创建与每个数据集的长度匹配的持续时间数组。每个系列的长度根据具体开始时间而变化。每分钟进行一次测量,但每天都不一致。
myTimes1=minutes(1:length(temperatureDay1)); myTimes2=minutes(1:length(temperatureDay2)); myTimes3=minutes(1:length(temperatureDay3));
4) 使用 plot
和 hold
生成图。设置图例以使用 legend
来区分系列。然后使用 xlabel
、ylabel
和 title
提供轴和图标题。
plot(myTimes1,temperatureDay1, myTimes2,temperatureDay2, myTimes3,temperatureDay3); legend({'Day1','Day2','Day3'}); xlabel('Minutes') ylabel('Temperature F'); title('Three-Day Temperature Comparison');
5) 您可以编辑模板代码以适合您的应用程序。例如,编辑代码以更改阅读天数和情节标题。按 Save and Run 生成图。
由于该图是根据真实数据生成的,因此您的图看起来与该图相似但不完全相同。
将数据叠加在同一张图上可以显示出一天中温度变化的三种不同行为。
6) 您可以选择将已保存的可视化效果添加到您的通道。在 Display Settings 中,使用 Add/Edit this Visualization to a Channel 旁边的加号来展开通道列表。
点击要添加可视化效果的通道的复选框。要添加私有可视化效果,请选择 Private View。要共享 URL 并将可视化内容添加到 Public View,请点击 Create a public URL。要更新您的选择,请点击 Save Display Settings。
另请参阅
函数
corrcoef
(MATLAB) |thingSpeakRead
|plot
(MATLAB) |xlabel
(MATLAB) |ylabel
(MATLAB) |title
(MATLAB) |hold
(MATLAB)