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.

Utilice el gráfico de área para comparar conjuntos de datos de tráfico

Las aplicaciones MATLAB® Analysis y MATLAB Visualizations en ThingSpeak™ le permiten elegir entre una selección de plantillas de código como punto de partida para crear su propio proyecto. Este ejemplo demuestra el uso de un gráfico de área para comparar dos variables similares con datos leídos de un canal ThingSpeak™ existente.

ThingSpeak channel 38629 contiene datos de tráfico de la Ruta 9 en Natick, Massachusetts. Los datos se generan a partir de una transmisión de video procesada con un algoritmo de conteo en una Raspberry Pi. El campo 1 contiene el recuento de vehículos en dirección oeste y el campo 2 contiene el recuento de vehículos en dirección este.

Crear un MATLAB Visualización a partir del código de plantilla

Para crear un gráfico de área de un conjunto de datos de un canal ThingSpeak, cree un script de MATLAB utilizando la plantilla de código proporcionada.

Navegue a la pestaña Aplicaciones y seleccione Visualizaciones MATLAB. Haga clic en Nuevo, elija Usar gráfico de área para comparar conjuntos de datos de tráfico y haga clic en Crear.

Visualiza tus datos

ThingSpeak completa el campo Código MATLAB con código de plantilla para leer los datos y luego generar el gráfico de área.

1) Establecer las variables para comunicarse con ThingSpeak. El canal del contador de automóviles es público, por lo que no es necesario agregar la clave API de lectura. Si estás leyendo desde tu propio canal, puedes modificar estos valores.

readChannelID = 38629;
readAPIKey = '';

2) Utilice thingSpeakRead para leer los campos 1 y 2 de las últimas 33 horas de datos. El uso del formato de salida del horario simplifica la manipulación de tiempos y el promedio de datos.

carData = thingSpeakRead(readChannelID,'Fields',[1 2],'NumMinutes',2000,...
    'ReadKey',readAPIKey,'Outputformat','Timetable');

3) Utilice retime para promediar los datos de cada hora y guárdelos en un nuevo horario. Dado que el contador del coche registra un valor cada 15 segundos, las tendencias con un período más largo a menudo quedan ocultas en las fluctuaciones de 15 segundos. Multiplique el promedio de 15 segundos por 240 para expresar el promedio en términos del número de automóviles en una hora.

aveCar = retime(carData,'hourly','mean');
eastCars = aveCar.DensityOfEastboundCars*240;
westCars = aveCar.DensityOfWestboundCars*240;

4) Utilice area para trazar los datos en dirección este y oeste en el mismo eje. Utilice xlabel, ylabel y legend para establecer las etiquetas apropiadas en el gráfico. Puede editar el código de la plantilla para que se ajuste a su aplicación. Por ejemplo, puede editar el número de días para leer y los títulos de las gráficas en el código. Tenga en cuenta que thingSpeakRead solo puede leer 8000 puntos de datos en una sola lectura, lo que equivale a poco más de un día de datos.

area(aveCar.Timestamps,[eastCars,westCars]);
xlabel('Time');
ylabel('Average Car Density per Hour');
legend({'East','West'});

5) Presione Guardar y ejecutar para generar el gráfico. El gráfico del área se genera a partir de datos en tiempo real, por lo que su visualización es diferente a este gráfico. Tenga en cuenta los picos prominentes durante las horas pico y durante la hora del almuerzo. La gráfica indica que es mejor salir al trabajo antes de las 6 a.m. y regresar a casa después de las 8 p.m.

Agregue visualización a la vista de su canal

Opcionalmente, puede agregar visualizaciones guardadas a su canal. En Configuración de visualización, 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 que corresponde al canal al que desea agregar la visualización. Para agregar visualizaciones privadas, marque 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