Main Content

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

使用直方图了解数据的变化

此示例演示如何从现有 ThingSpeak™通道读取数据并生成直方图。直方图显示所选数据中记录每个特定温度的次数。在示例中,您将使用 ThingSpeak 中的 MATLAB Analysis 和 MATLAB Visualizations App 提供的代码模板之一作为起点。

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

从模板创建 MATLAB 可视化

要创建 ThingSpeak通道中一组数据的直方图可视化,您可以使用代码模板创建 MATLAB 脚本。

转到 App 选项卡并选择“MATLAB 可视化”。点击“新建”,选择“使用直方图了解数据变化”,然后点击“创建”。

可视化您的数据

ThingSpeak 使用代码填充 MATLAB Code 字段以生成温度直方图。

1) 指定与 ThingSpeak 通信的变量。读取 API 密钥是不必要的,因为气象站通道是公共的。如果您正在从自己的通道读取,则可以修改这些值。

readChannelID = 12397;
TemperatureFieldID = 4;
readAPIKey = '';

2)使用thingSpeakRead检索1200分钟的温度数据。

tempF = thingSpeakRead(readChannelID,'Fields',TemperatureFieldID,...
'NumMinutes',20*60,'ReadKey',readAPIKey);

3) 使用 histogram 生成绘图。设置 x 轴和 y 轴标签以及图表标题。

histogram(tempF);
xlabel('Temperature (F)');
ylabel('Number of Measurements for Each Temperature');
title('Histogram of Temperature Variation');

4) 您可以编辑模板代码以适合您的应用。例如,编辑代码以更改阅读的分钟数和情节标题。按“保存并运行”“”生成绘图。

由于直方图是根据实时数据生成的,因此您的直方图看起来与该图并不相同。

5) 或者,您可以将保存的可视化添加到您的通道。在“显示设置”中,使用“将此可视化添加/编辑到通道”旁边的加号来展开通道列表。

选中与要将可视化添加到的通道对应的复选框。要添加私有可视化,请选中“私有视图”。要共享 URL 并将可视化添加到“公共视图”,请点击“创建公共 URL”。要更新您的选择,请点击“保存显示设置”。

比较两个直方图

Histogram 还允许您比较不同条件下的分布。您可以将当前的波动与过去一天的波动进行比较。以下代码未包含在模板中。要绘制多个分布,请将此代码添加到模板中。

1)读取前一天的附加数据以与原始数据集进行比较。

tempFYesterday = thingSpeakRead(readChannelID,'Fields',TemperatureFieldID,...
'DateRange',[datetime('today')-days(2),datetime('today')-days(1)],'ReadKey',readAPIKey);

2) 转动 hold on 以将数据保持在同一图上。使用histogram并将'FaceColor'to设置为红色以区分数据。还添加一个图例。

% Plot the original Data
histogram(tempF)
xlabel('Temperature (F)');
ylabel('Number of Measurements for Each Temperature');
title('Histogram of Temperature Variation');
hold on
histogram(tempFYesterday,'FaceColor','r');
legend('Today','Yesterday');

3) 按 保存并运行 生成对偶图。

输出可视化展示了两个时间段变化的差异。

另请参阅

函数

相关示例

详细信息