使用直方图了解数据的变化
此示例演示如何从现有 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) 按 保存并运行 生成对偶图。
输出可视化展示了两个时间段变化的差异。
另请参阅
函数
Histogram
(MATLAB) |thingSpeakRead
相关示例
详细信息
- MATLAB 可视化 App
- 多列组成的直方图 (MATLAB)