Gráficos de ImageCollection

O módulo ui.Chart.image contém um conjunto de funções para renderizar gráficos com base nos resultados da redução espaço-temporal de imagens em um ImageCollection. A escolha da função determina a disposição dos dados no gráfico, ou seja, o que define os valores dos eixos x e y e o que define a série. Use as descrições e os exemplos de função a seguir para determinar a melhor função para sua finalidade.

Funções de gráfico

Use os diagramas de representação a seguir como um guia visual para entender como cada função organiza os resultados da redução da coleta de imagens espaciais e temporais em um gráfico, ou seja, quais elementos definem valores x, valores y e séries. As funções ui.Chart.image.doySeries* usam dois redutores: um para redução de região (regionReducer) e outro para redução de dia do ano coincidente intra-anual (yearReducer). Os exemplos nas seções a seguir usam ee.Reducer.mean() como o argumento para ambos os parâmetros.

ui.Chart.image.series

A data da imagem é plotada ao longo do eixo x de acordo com a propriedade system:time_start. As séries são definidas por bandas de imagem. Os valores do eixo y são a redução de imagens, por data, em uma única região.

ui.Chart.image.seriesByRegion

A data da imagem é plotada ao longo do eixo x de acordo com a propriedade system:time_start. As séries são definidas por regiões. Os valores do eixo Y são a redução de imagens, por data, para uma única faixa de imagem.

ui.Chart.image.doySeries

O dia do ano da imagem é plotado ao longo do eixo x de acordo com a propriedade system:time_start. As séries são definidas por bandas de imagem. Os valores do eixo Y são a redução dos pixels da imagem em uma determinada região, agrupados por dia do ano.

ui.Chart.image.doySeriesByYear

O dia do ano da imagem é plotado ao longo do eixo x de acordo com a propriedade system:time_start. As séries são definidas pelos anos presentes no ImageCollection. Os valores do eixo Y são a redução dos pixels da imagem em uma determinada região, agrupados por dia do ano, para uma faixa de imagem selecionada.

ui.Chart.image.doySeriesByRegion

O dia do ano da imagem é plotado ao longo do eixo x de acordo com a propriedade system:time_start. As séries são definidas por regiões. Os valores do eixo Y são a redução dos pixels da imagem em uma determinada região, agrupados por dia do ano, para uma faixa de imagem selecionada.

Exemplo

Os exemplos a seguir dependem de um ImageCollection, que é uma série temporal de NDVI e EVI baseada em MODIS. A redução de região é realizada em ecorregiões definidas por elementos em um FeatureCollection projetado para fins de demonstração (saiba como ele foi feito).

ui.Chart.image.series

Use ui.Chart.image.series para mostrar uma série temporal de imagens para uma determinada região. Cada banda de imagem é apresentada como uma série exclusiva. Ele é útil para comparar as séries temporais de faixas de imagem individuais. Aqui, uma coleção de imagens MODIS com bandas que representam índices de vegetação NDVI e EVI são plotadas. A data de cada observação de imagem é incluída no eixo x, enquanto a redução média de pixels que cruzam uma ecorregião florestal define o eixo 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

Use ui.Chart.image.seriesByRegion para mostrar uma única série temporal de faixa de imagem para várias regiões. Cada região é apresentada como uma série exclusiva. Ela é útil para comparar a série temporal de uma única faixa entre várias regiões. Aqui, uma coleção de imagens MODIS representando uma série temporal NDVI é representada para três ecorregiões. A data de cada observação de imagem é incluída no eixo x, enquanto a redução média de pixels que cruzam as ecoregiões de floresta, deserto e pastagens definem a série do eixo 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

Use ui.Chart.image.doySeries para mostrar uma série temporal de dias do ano para uma determinada região. Cada faixa de imagem é apresentada como uma série exclusiva. É útil para reduzir observações que ocorrem no mesmo dia do ano, em vários anos, para comparar, por exemplo, os perfis anuais médios de NDVI e EVI do MODIS, como neste exemplo.

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

Use ui.Chart.image.doySeriesByYear para mostrar uma série temporal de dias do ano para uma determinada região e faixa de imagem, em que cada ano distinto na coleção de imagens é apresentado como uma série exclusiva. Ele é útil para comparar séries temporais anuais entre anos. Por exemplo, neste exemplo, os perfis NDVI anuais derivados do MODIS para uma ecorregião de pastagens são plotados para os anos de 2012 e 2019, fornecendo uma interpretação conveniente ano a ano.

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

Use ui.Chart.image.doySeriesByRegion para mostrar uma única faixa de imagem da série temporal do dia do ano para várias regiões, em que cada região distinta é apresentada como uma série exclusiva. É útil para comparar séries temporais anuais de banda única entre regiões. Por exemplo, neste exemplo, os perfis NDVI anuais derivados do MODIS para as ecorregiões de floresta, deserto e pastagem são plotados, fornecendo uma comparação conveniente da resposta NDVI por região. As observações intra-anuais que ocorrem no mesmo dia do ano são reduzidas pela média.

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);