El módulo ui.Chart.image
contiene un conjunto de funciones para renderizar gráficos a partir de los resultados de la reducción espaciotemporal de imágenes dentro de un ImageCollection
. La elección de la función determina la disposición de los datos en el gráfico, es decir, qué define los valores de los ejes X e Y y qué define la serie.
Usa las siguientes descripciones y ejemplos de funciones para determinar cuál es la mejor función para tu propósito.
Funciones de gráfico
Usa los siguientes diagramas de trama como guía visual para comprender cómo cada función organiza los resultados de la reducción de la colección de imágenes espaciotemporales en un gráfico, es decir, qué elementos definen los valores x, los valores y y las series. Ten en cuenta que las funciones ui.Chart.image.doySeries*
toman dos reductoras: una para la reducción de regiones (regionReducer
) y otra para la reducción coincidente intraanual del día del año (yearReducer
). En los ejemplos de las siguientes secciones, se usa ee.Reducer.mean()
como argumento para ambos parámetros.
La fecha de la imagen se traza a lo largo del eje X según la propiedad system:time_start
. Las series se definen por bandas de imágenes. Los valores del eje Y son la reducción de imágenes, por fecha, para una sola región.
La fecha de la imagen se traza a lo largo del eje X según la propiedad system:time_start
. Las series se definen por regiones. Los valores del eje Y son la reducción de imágenes, por fecha, para una sola banda de imágenes.
El día del año de la imagen se traza a lo largo del eje X según la propiedad system:time_start
. Las series se definen por bandas de imágenes. Los valores del eje Y son la reducción de los píxeles de la imagen en una región determinada, agrupados por día del año.
ui.Chart.image.doySeriesByYear
El día del año de la imagen se traza a lo largo del eje X según la propiedad system:time_start
. Las series se definen por los años presentes en ImageCollection
. Los valores del eje Y son la reducción de los píxeles de la imagen en una región determinada, agrupados por día del año, para una banda de imagen seleccionada.
ui.Chart.image.doySeriesByRegion
El día del año de la imagen se traza a lo largo del eje X según la propiedad system:time_start
. Las series se definen por regiones. Los valores del eje Y son la reducción de los píxeles de la imagen en una región determinada, agrupados por día del año, para una banda de imagen seleccionada.
Datos de ejemplo
En los siguientes ejemplos, se usa un ImageCollection
que es una serie temporal de NDVI y EVI basados en MODIS. La reducción de regiones se realiza en ecorregiones definidas por componentes en un FeatureCollection
diseñado con fines de demostración (descubre cómo se hizo).
ui.Chart.image.series
Usa ui.Chart.image.series
para mostrar una serie temporal de imágenes de una región determinada. Cada banda de imagen se presenta como una serie única. Es útil para comparar las series temporales de bandas de imágenes individuales. Aquí, se traza una colección de imágenes de MODIS con bandas que representan los índices de vegetación NDVI y EVI. La fecha de cada observación de imagen se incluye en el eje x, mientras que la reducción promedio de píxeles que se cruzan con una ecoregión forestal define el eje y.
Editor de código (JavaScript)
// Import the example feature collection and subset the forest feature. var forest = ee.FeatureCollection('projects/google/charts_feature_example') .filter(ee.Filter.eq('label', 'Forest')); // Load MODIS vegetation indices data and subset a decade of images. var vegIndices = ee.ImageCollection('MODIS/061/MOD13A1') .filter(ee.Filter.date('2010-01-01', '2020-01-01')) .select(['NDVI', 'EVI']); // Define the chart and print it to the console. var chart = ui.Chart.image .series({ imageCollection: vegIndices, region: forest, reducer: ee.Reducer.mean(), scale: 500, xProperty: 'system:time_start' }) .setSeriesNames(['EVI', 'NDVI']) .setOptions({ title: 'Average Vegetation Index Value by Date for Forest', hAxis: {title: 'Date', titleTextStyle: {italic: false, bold: true}}, vAxis: { title: 'Vegetation index (x1e4)', titleTextStyle: {italic: false, bold: true} }, lineWidth: 5, colors: ['e37d05', '1d6b99'], curveType: 'function' }); print(chart);
ui.Chart.image.seriesByRegion
Usa ui.Chart.image.seriesByRegion
para mostrar una sola serie temporal de banda de imagen para varias regiones. Cada región se presenta como una serie única. Es útil para comparar las series temporales de una sola banda entre varias regiones.
Aquí, se traza una colección de imágenes MODIS que representa una serie temporal de NDVI para tres ecorregiones. La fecha de cada observación de imagen se incluye en el eje x, mientras que la reducción promedio de píxeles que se cruzan con las ecorregiones de bosques, desiertos y pastizales define las series del eje y.
Editor de código (JavaScript)
// Import the example feature collection. var ecoregions = ee.FeatureCollection('projects/google/charts_feature_example'); // Load MODIS vegetation indices data and subset a decade of images. var vegIndices = ee.ImageCollection('MODIS/061/MOD13A1') .filter(ee.Filter.date('2010-01-01', '2020-01-01')) .select(['NDVI', 'EVI']); // Define the chart and print it to the console. var chart = ui.Chart.image .seriesByRegion({ imageCollection: vegIndices, band: 'NDVI', regions: ecoregions, reducer: ee.Reducer.mean(), scale: 500, seriesProperty: 'label', xProperty: 'system:time_start' }) .setOptions({ title: 'Average NDVI Value by Date', hAxis: {title: 'Date', titleTextStyle: {italic: false, bold: true}}, vAxis: { title: 'NDVI (x1e4)', titleTextStyle: {italic: false, bold: true} }, lineWidth: 5, colors: ['f0af07', '0f8755', '76b349'], }); print(chart);
ui.Chart.image.doySeries
Usa ui.Chart.image.doySeries
para mostrar una serie temporal de días del año para una región determinada. Cada banda de imagen se presenta como una serie única. Es útil para reducir las observaciones que se producen en el mismo día del año, en varios años, para comparar, por ejemplo, los perfiles anuales promedio de NDVI y EVI de MODIS, como en este ejemplo.
Editor de código (JavaScript)
// Import the example feature collection and subset the grassland feature. var grassland = ee.FeatureCollection('projects/google/charts_feature_example') .filter(ee.Filter.eq('label', 'Grassland')); // Load MODIS vegetation indices data and subset a decade of images. var vegIndices = ee.ImageCollection('MODIS/061/MOD13A1') .filter(ee.Filter.date('2010-01-01', '2020-01-01')) .select(['NDVI', 'EVI']); // Define the chart and print it to the console. var chart = ui.Chart.image .doySeries({ imageCollection: vegIndices, region: grassland, regionReducer: ee.Reducer.mean(), scale: 500, yearReducer: ee.Reducer.mean(), startDay: 1, endDay: 365 }) .setSeriesNames(['EVI', 'NDVI']) .setOptions({ title: 'Average Vegetation Index Value by Day of Year for Grassland', hAxis: { title: 'Day of year', titleTextStyle: {italic: false, bold: true} }, vAxis: { title: 'Vegetation index (x1e4)', titleTextStyle: {italic: false, bold: true} }, lineWidth: 5, colors: ['e37d05', '1d6b99'], }); print(chart);
ui.Chart.image.doySeriesByYear
Usa ui.Chart.image.doySeriesByYear
para mostrar una serie temporal de días del año para una región y una banda de imágenes determinadas, en la que cada año distinto de la colección de imágenes se presenta como una serie única. Es útil para comparar series temporales anuales entre años. Por ejemplo, en este ejemplo, los perfiles anuales de NDVI derivados de MODIS para una ecorregión de pastizales se trazan para los años 2012 y 2019, lo que proporciona una interpretación conveniente de año a año.
Editor de código (JavaScript)
// Import the example feature collection and subset the grassland feature. var grassland = ee.FeatureCollection('projects/google/charts_feature_example') .filter(ee.Filter.eq('label', 'Grassland')); // Load MODIS vegetation indices data and subset years 2012 and 2019. var vegIndices = ee.ImageCollection('MODIS/061/MOD13A1') .filter(ee.Filter.or( ee.Filter.date('2012-01-01', '2013-01-01'), ee.Filter.date('2019-01-01', '2020-01-01'))) .select(['NDVI', 'EVI']); // Define the chart and print it to the console. var chart = ui.Chart.image .doySeriesByYear({ imageCollection: vegIndices, bandName: 'NDVI', region: grassland, regionReducer: ee.Reducer.mean(), scale: 500, sameDayReducer: ee.Reducer.mean(), startDay: 1, endDay: 365 }) .setOptions({ title: 'Average NDVI Value by Day of Year for Grassland', hAxis: { title: 'Day of year', titleTextStyle: {italic: false, bold: true} }, vAxis: { title: 'NDVI (x1e4)', titleTextStyle: {italic: false, bold: true} }, lineWidth: 5, colors: ['39a8a7', '9c4f97'], }); print(chart);
ui.Chart.image.doySeriesByRegion
Usa ui.Chart.image.doySeriesByRegion
para mostrar una sola banda de imagen de las series temporales del día del año para varias regiones, en las que cada región distinta se presenta como una serie única. Es útil para comparar las series temporales anuales de una sola banda entre regiones. Por ejemplo, en este ejemplo, se trazan los perfiles anuales de NDVI derivados de MODIS para las ecorregiones de bosques, desiertos y pastizales, lo que proporciona una comparación conveniente de la respuesta de NDVI por región. Ten en cuenta que las observaciones intraanuales que ocurren el mismo día del año se reducen en función de su promedio.
Editor de código (JavaScript)
// Import the example feature collection. var ecoregions = ee.FeatureCollection('projects/google/charts_feature_example'); // Load MODIS vegetation indices data and subset a decade of images. var vegIndices = ee.ImageCollection('MODIS/061/MOD13A1') .filter(ee.Filter.date('2010-01-01', '2020-01-01')) .select(['NDVI', 'EVI']); // Define the chart and print it to the console. var chart = ui.Chart.image .doySeriesByRegion({ imageCollection: vegIndices, bandName: 'NDVI', regions: ecoregions, regionReducer: ee.Reducer.mean(), scale: 500, yearReducer: ee.Reducer.mean(), seriesProperty: 'label', startDay: 1, endDay: 365 }) .setOptions({ title: 'Average NDVI Value by Day of Year', hAxis: { title: 'Day of year', titleTextStyle: {italic: false, bold: true} }, vAxis: { title: 'NDVI (x1e4)', titleTextStyle: {italic: false, bold: true} }, lineWidth: 5, colors: ['f0af07', '0f8755', '76b349'], }); print(chart);