主要内容

本页采用了机器翻译。点击此处可查看英文原文。

比较三天的温度数据

此示例显示如何从现有的 ThingSpeak™ 通道读取数据并生成同一轴上有三个系列的图。在示例中,作为起点,您使用 ThingSpeak 中的 MATLAB Analysis 和 MATLAB Visualization App 提供的代码模板之一。

ThingSpeak 通道 12397 包含来自位于马萨诸塞州内蒂克市 MathWorks® 园区停车场顶部的气象站的气象数据。字段 4 包含温度测量值。

基于模板代码创建 MATLAB 可视化

要创建来自 ThingSpeak 通道的三组数据序列的可视化,您可以使用 MATLAB Visualizations 中提供的代码模板编写 MATLAB® 脚本。

转至 Apps 选项卡,然后点击 MATLAB Visualization。点击 New,选择 Compare temperature data from three different days,然后点击 Create

可视化您的数据

ThingSpeak 会将生成三系列折线图的代码填充到 MATLAB 代码字段中。

1) 设置与 ThingSpeak 通信的变量。在此示例中,Read 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 (MATLAB)hold (MATLAB) 生成绘图。使用 legend (MATLAB) 设置图例以区分不同系列。然后使用 xlabel (MATLAB), ylabel (MATLAB)title (MATLAB) 提供轴和图标题。

plot(myTimes1,temperatureDay1, myTimes2,temperatureDay2, myTimes3,temperatureDay3);
legend({'Day1','Day2','Day3'});
xlabel('Minutes')
ylabel('Temperature F');
title('Three-Day Temperature Comparison');

Figure contains an axes object. The axes object with title Three-Day Temperature Comparison, xlabel Minutes, ylabel Temperature F contains 3 objects of type line. These objects represent Day1, Day2, Day3.

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

另请参阅

函数

主题