Main Content

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la última versión en inglés.

Compare datos de temperatura de tres días diferentes

Este ejemplo muestra cómo leer datos de un canal ThingSpeak™ existente y generar un gráfico con tres series en el mismo eje. En el ejemplo, como punto de partida, se utiliza una de las plantillas de código que proporcionan las aplicaciones MATLAB Analysis y MATLAB Visualizations en ThingSpeak.

ThingSpeak channel 12397 contiene datos meteorológicos de una estación meteorológica ubicada en la parte superior de un estacionamiento en el campus de MathWorks® en Natick, MA. El campo 4 contiene la medición de temperatura.

Crear una visualización en MATLAB a partir de código de plantilla

Para crear una visualización de tres series de datos de un canal ThingSpeak, puede escribir un script MATLAB utilizando la plantilla de código proporcionada en la aplicación MATLAB Visualizations.

Vaya a la pestaña Aplicaciones y haga clic en Visualizaciones MATLAB. Haga clic en Nuevo, elija Comparar datos de temperatura de tres días diferentes y haga clic en Crear.

Visualiza tus datos

ThingSpeak rellena el campo Código MATLAB con el código para generar un gráfico de líneas de tres series.

1) Establecer las variables para comunicarse con ThingSpeak. En este ejemplo, la clave API de lectura no es necesaria porque el canal de la estación meteorológica es público. Si estás leyendo desde tu propio canal, puedes modificar estos valores.

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

2) Utilice thingSpeakRead para recuperar los datos de cada día. Especificar 'DateRange' le permite establecer las fechas de inicio y finalización de la recopilación de datos.

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) Cree una matriz de duraciones que coincida con la longitud de cada conjunto de datos. La duración de cada serie varía según la hora exacta de inicio. Las medidas se toman cada minuto, pero no están alineadas cada día.

myTimes1=minutes(1:length(temperatureDay1));
myTimes2=minutes(1:length(temperatureDay2));
myTimes3=minutes(1:length(temperatureDay3));

4) Utilice plot y hold para generar los gráficos. Establece la leyenda para diferenciar la serie usando legend. Luego proporcione títulos de ejes y gráficos con xlabel, ylabel y title.

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

5) Puede editar el código de la plantilla para que se ajuste a su aplicación. Por ejemplo, edite el código para cambiar la cantidad de días para leer y los títulos de las gráficas. Presione Guardar y ejecutar para generar el gráfico.

Dado que el gráfico se genera a partir de datos reales, su gráfico se ve similar pero no idéntico a este gráfico.

La superposición de los datos en el mismo gráfico muestra tres comportamientos diferentes en la variación de temperatura durante el día.

6) Opcionalmente, puedes agregar visualizaciones guardadas a tu canal. En Configuración de pantalla, use el signo más junto a Agregar/Editar esta visualización a un canal para expandir la lista de canales.

Haga clic en la casilla de verificación del canal al que desea agregar la visualización. Para agregar visualizaciones privadas, seleccione Vista privada. Para compartir la URL y agregar la visualización a la Vista pública, haga clic en Crear una URL pública. Para actualizar sus selecciones, haga clic en Guardar configuración de pantalla.

Consulte también

Funciones

Ejemplos relacionados

Más acerca de