Das Modul ui.Chart.image
enthält eine Reihe von Funktionen zum Rendern von Diagrammen aus den Ergebnissen der raumzeitlichen Reduzierung von Bildern in einem ImageCollection
. Die Auswahl der Funktion bestimmt die Anordnung der Daten im Diagramm, d.h., was die Werte der X- und Y-Achse und was die Reihe definiert.
Anhand der folgenden Funktionsbeschreibungen und Beispiele können Sie die für Ihren Zweck am besten geeignete Funktion ermitteln.
Diagrammfunktionen
Anhand der folgenden Plotdiagramme können Sie sich visuell vorstellen, wie die Ergebnisse der Reduzierung der raumzeitlichen Bildsammlung in einem Diagramm dargestellt werden. Sie sehen also, welche Elemente X-Werte, Y-Werte und Reihen definieren. Für ui.Chart.image.doySeries*
-Funktionen werden zwei Reduzierer verwendet: einer für die regionale Reduzierung (regionReducer
) und einer für die jährliche Reduzierung auf denselben Tag des Jahres (yearReducer
). In den Beispielen in den folgenden Abschnitten wird ee.Reducer.mean()
als Argument für beide Parameter verwendet.
Das Bilddatum wird gemäß der Property system:time_start
auf der X-Achse dargestellt. Reihen werden durch Bildbänder definiert. Die Werte auf der Y-Achse geben die Anzahl der Bilder nach Datum für eine einzelne Region an.
Das Bilddatum wird gemäß der Property system:time_start
auf der X-Achse dargestellt. Serien werden nach Regionen definiert. Die Werte der Y-Achse geben die Reduzierung der Bilder nach Datum für einen einzelnen Bildstreifen an.
Der Tag des Jahres wird gemäß der Property system:time_start
entlang der x-Achse dargestellt. Reihen werden durch Bildbänder definiert. Die Werte der Y-Achse geben die Reduzierung der Bildpixel in einer bestimmten Region an, gruppiert nach dem Tag des Jahres.
ui.Chart.image.doySeriesByYear
Der Tag des Jahres wird gemäß der Property system:time_start
entlang der x-Achse dargestellt. Reihen werden durch Jahre definiert, die in ImageCollection
vorhanden sind. Die Werte der Y-Achse geben die Reduktion der Bildpixel in einer bestimmten Region für ein ausgewähltes Bildband an, gruppiert nach dem Tag des Jahres.
ui.Chart.image.doySeriesByRegion
Der Tag des Jahres wird gemäß der Property system:time_start
entlang der x-Achse dargestellt. Serien werden nach Regionen definiert. Die Werte der Y-Achse geben die Reduzierung der Bildpixel in einem bestimmten Bereich für einen ausgewählten Bildstreifen nach Kalendertag an.
Beispieldaten
In den folgenden Beispielen wird eine ImageCollection
verwendet, die eine Zeitreihe von MODIS-basierten NDVI- und EVI-Werten ist. Die Regionsreduktion wird auf Ökoregionen angewendet, die durch Elemente in einer FeatureCollection
definiert sind, die zu Demonstrationszwecken erstellt wurde (Informationen zur Erstellung).
ui.Chart.image.series
Mit ui.Chart.image.series
können Sie eine Bildzeitreihe für eine bestimmte Region anzeigen. Dabei wird jeder Bildstreifen als eigene Reihe dargestellt. Sie eignet sich zum Vergleichen der Zeitreihen einzelner Bildbänder. Hier ist eine MODIS-Bildersammlung mit Bändern zu sehen, die die Vegetationsindizes NDVI und EVI darstellen. Das Datum jeder Bildbeobachtung ist auf der X-Achse zu sehen, während die durchschnittliche Reduktion der Pixel, die eine Waldökoregion schneiden, die Y-Achse definiert.
// 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
Mit ui.Chart.image.seriesByRegion
können Sie eine Zeitreihe für ein einzelnes Bildband für mehrere Regionen anzeigen. Jede Region wird als einzelne Reihe dargestellt. Sie eignet sich zum Vergleichen der Zeitreihen eines einzelnen Bands in mehreren Regionen.
Hier ist eine MODIS-Bildersammlung zu sehen, die eine NDVI-Zeitreihe für drei Ökoregionen darstellt. Das Datum jeder Bildbeobachtung ist auf der X-Achse enthalten, während die mittlere Reduktion der Pixel, die sich mit Wald-, Wüsten- und Graslandökoregionen überschneiden, die Y-Achsenreihen definieren.
// 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
Mit ui.Chart.image.doySeries
können Sie eine Zeitreihe nach dem Tag des Jahres für eine bestimmte Region anzeigen. Jedes Bildband wird als eindeutige Reihe dargestellt. Es ist nützlich, Beobachtungen am selben Tag des Jahres über mehrere Jahre hinweg zu reduzieren, um beispielsweise durchschnittliche jährliche NDVI- und EVI-Profile von MODIS zu vergleichen, wie in diesem Beispiel.
// 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
Mit ui.Chart.image.doySeriesByYear
können Sie eine Zeitreihe nach Kalendertag für eine bestimmte Region und ein bestimmtes Bildband anzeigen. Dabei wird jedes Jahr in der Bildsammlung als eindeutige Reihe dargestellt. Sie eignet sich zum Vergleichen von Jahreszeitreihen zwischen verschiedenen Jahren. In diesem Beispiel werden beispielsweise jährliche MODIS-abgeleitete NDVI-Profile für eine Grasland-Ökoregion für die Jahre 2012 und 2019 dargestellt, was eine bequeme Interpretation von Jahr zu Jahr ermöglicht.
// 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
Mit ui.Chart.image.doySeriesByRegion
können Sie eine einzelne Bildband-Tag-des-Jahres-Zeitreihe für mehrere Regionen anzeigen, wobei jede Region als eindeutige Reihe dargestellt wird. Sie eignet sich zum Vergleichen jährlicher Zeitreihen mit einem einzelnen Band zwischen Regionen. In diesem Beispiel werden beispielsweise jährliche MODIS-abgeleitete NDVI-Profile für Wald-, Wüsten- und Grasland-Ökoregionen dargestellt, die einen praktischen Vergleich der NDVI-Antwort nach Region ermöglichen. Beachten Sie, dass Beobachtungen innerhalb eines Jahres, die am selben Tag des Jahres stattfinden, um ihren Mittelwert reduziert werden.
// 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);