主要内容

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

在两个不同的轴上绘制温度和风速

此示例显示如何从现有的 ThingSpeak™ 通道读取两种类型的数据并生成具有两个独立 y 轴的线图。在示例中,您修改了 MATLAB Analysis 和 MATLAB Visualization App 提供的代码模板之一。ThingSpeak 通道 12397 包含来自位于马萨诸塞州纳蒂克 MathWorks® 园区停车场顶部的气象站的气象数据。

从模板代码创建 MATLAB Visualization

要从 ThingSpeak 通道创建温度和风速的可视化,您可以使用 MATLAB Visualization App 中提供的代码模板编写 MATLAB 脚本。

转至 Apps 选项卡并选择 MATLAB Visualizations。点击 New,选择 Plot temperature and wind speed of two different y-axes,然后点击 Create

可视化您的数据

ThingSpeak 使用代码填充 MATLAB Code 字段以生成双轴图。

1) 设置与 ThingSpeak 通信的变量。在此示例中,读取 API 密钥是不必要的,因为气象站通道是公共的。仅当您从自己的私有通道而不是气象站通道读取数据时才为 readAPIKey 分配一个值。

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

2) 使用 thingSpeakRead 检索 300 个点的温度和风速数据。

[data, timeStamps ] = thingSpeakRead(readChannelID,'Fields',[TemperatureFieldID windSpeedFieldID], 'NumPoints',300,'ReadKey',readAPIKey);

3) 提取温度和风速数据。

temperatureData = data(:, 1);
windSpeedData = data(:, 2);

4) 使用 plotyyaxis 生成双轴图。使用 ylabel 设置每边的 y 轴标签。

yyaxis left
plot(timeStamps, temperatureData);
ylabel('Temperature');
yyaxis right
plot(timeStamps, windSpeedData);
ylabel('Wind Speed');

5) 您可以编辑模板代码以适合您的应用程序。例如,您可以编辑要读取的点数和代码中的情节标题。点击 Save and Run 以生成图。

由于该图是根据实时数据生成的,因此您的图看起来与该图相似但不完全相同。

另请参阅

函数

主题