Mô-đun ui.Chart.image
chứa một tập hợp các hàm để kết xuất biểu đồ từ kết quả giảm kích thước không gian thời gian của hình ảnh trong ImageCollection
. Lựa chọn hàm sẽ quyết định cách sắp xếp dữ liệu trong biểu đồ, tức là những gì xác định giá trị trục x và trục y cũng như những gì xác định chuỗi.
Hãy sử dụng các ví dụ và nội dung mô tả hàm sau đây để xác định hàm phù hợp nhất với mục đích của bạn.
Hàm biểu đồ
Hãy sử dụng các sơ đồ biểu đồ sau đây làm hướng dẫn trực quan để hiểu cách mỗi hàm sắp xếp kết quả giảm thiểu việc thu thập hình ảnh không gian thời gian trong biểu đồ; tức là những phần tử nào xác định giá trị x, giá trị y và chuỗi. Xin lưu ý rằng hàm ui.Chart.image.doySeries*
sẽ lấy hai bộ giảm: một bộ giảm cho việc giảm theo khu vực (regionReducer
) và một bộ giảm khác cho việc giảm trùng lặp trong ngày trong năm (yearReducer
). Các ví dụ trong các phần sau sử dụng ee.Reducer.mean()
làm đối số cho cả hai tham số này.
Ngày của hình ảnh được lập biểu đồ dọc theo trục x theo thuộc tính system:time_start
. Chuỗi được xác định theo dải hình ảnh. Giá trị trục Y là số lượng hình ảnh giảm đi theo ngày cho một khu vực.
Ngày của hình ảnh được lập biểu đồ dọc theo trục x theo thuộc tính system:time_start
. Chuỗi được xác định theo khu vực. Giá trị trục Y là số lượng hình ảnh giảm đi theo ngày cho một dải hình ảnh.
Ngày trong năm của hình ảnh được lập biểu đồ dọc theo trục x theo thuộc tính system:time_start
. Chuỗi được xác định theo dải hình ảnh. Giá trị trục Y là mức giảm số pixel hình ảnh trong một khu vực nhất định, được nhóm theo ngày trong năm.
ui.Chart.image.doySeriesByYear
Ngày trong năm của hình ảnh được lập biểu đồ dọc theo trục x theo thuộc tính system:time_start
. Chuỗi được xác định theo năm có trong ImageCollection
. Giá trị trục Y là mức giảm số pixel hình ảnh trong một vùng nhất định, được nhóm theo ngày trong năm, cho một dải hình ảnh đã chọn.
ui.Chart.image.doySeriesByRegion
Ngày trong năm của hình ảnh được lập biểu đồ dọc theo trục x theo thuộc tính system:time_start
. Chuỗi được xác định theo khu vực. Giá trị trục Y là mức giảm số pixel hình ảnh trong một khu vực nhất định, được nhóm theo ngày trong năm, đối với một dải hình ảnh đã chọn.
Dữ liệu mẫu
Các ví dụ sau đây dựa trên ImageCollection
là một chuỗi thời gian của NDVI và EVI dựa trên MODIS. Việc giảm khu vực được thực hiện trên các khu vực sinh thái được xác định bằng các đặc điểm trong FeatureCollection
được thiết kế cho mục đích minh hoạ (tìm hiểu cách tạo khu vực sinh thái này).
ui.Chart.image.series
Sử dụng ui.Chart.image.series
để hiển thị chuỗi thời gian hình ảnh cho một khu vực nhất định; mỗi dải hình ảnh được trình bày dưới dạng một chuỗi riêng biệt. Điều này rất hữu ích khi so sánh chuỗi thời gian của từng dải hình ảnh. Ở đây, một tập hợp hình ảnh MODIS với các dải đại diện cho chỉ số NDVI và EVI về thảm thực vật được lập biểu đồ. Ngày của mỗi lần quan sát hình ảnh được đưa vào theo trục x, trong khi mức giảm trung bình của các pixel giao nhau với một vùng sinh thái rừng xác định trục y.
Trình soạn thảo mã (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
Sử dụng ui.Chart.image.seriesByRegion
để hiển thị một chuỗi thời gian của dải hình ảnh cho nhiều khu vực; mỗi khu vực được trình bày dưới dạng một chuỗi riêng biệt. Phương pháp này rất hữu ích khi so sánh chuỗi thời gian của một dải tần số giữa một số khu vực.
Ở đây, một bộ sưu tập hình ảnh MODIS đại diện cho một chuỗi thời gian NDVI được lập biểu đồ cho ba khu vực sinh thái. Ngày của mỗi lần quan sát hình ảnh được đưa vào trục x, trong khi mức giảm trung bình của các pixel giao nhau với các vùng sinh thái rừng, sa mạc và đồng cỏ xác định chuỗi trục y.
Trình soạn thảo mã (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
Sử dụng ui.Chart.image.doySeries
để hiển thị chuỗi thời gian theo ngày trong năm cho một khu vực nhất định; mỗi dải hình ảnh được trình bày dưới dạng một chuỗi riêng biệt. Điều này rất hữu ích để giảm số lượng quan sát xảy ra vào cùng một ngày trong năm, trên nhiều năm, để so sánh, ví dụ: hồ sơ NDVI và EVI trung bình hằng năm từ MODIS, như trong ví dụ này.
Trình soạn thảo mã (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
Sử dụng ui.Chart.image.doySeriesByYear
để hiển thị chuỗi thời gian theo ngày trong năm cho một khu vực và dải hình ảnh nhất định, trong đó mỗi năm riêng biệt trong bộ sưu tập hình ảnh được trình bày dưới dạng một chuỗi duy nhất. Phương pháp này hữu ích khi so sánh chuỗi thời gian hằng năm giữa các năm. Ví dụ: trong ví dụ này, các hồ sơ NDVI hằng năm bắt nguồn từ MODIS cho một vùng sinh thái đồng cỏ được lập biểu đồ cho các năm 2012 và 2019, cung cấp thông tin giải thích thuận tiện theo từng năm.
Trình soạn thảo mã (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
Sử dụng ui.Chart.image.doySeriesByRegion
để hiển thị một dải hình ảnh duy nhất theo ngày trong năm cho nhiều khu vực, trong đó mỗi khu vực riêng biệt được trình bày dưới dạng một chuỗi riêng biệt. Phương pháp này hữu ích khi so sánh chuỗi thời gian đơn băng hằng năm giữa các khu vực. Ví dụ: trong ví dụ này, các hồ sơ NDVI hằng năm bắt nguồn từ MODIS cho các vùng sinh thái rừng, sa mạc và đồng cỏ được lập biểu đồ, cung cấp thông tin so sánh thuận tiện về phản hồi NDVI theo khu vực. Xin lưu ý rằng các quan sát trong năm diễn ra vào cùng một ngày trong năm sẽ được giảm theo giá trị trung bình của chúng.
Trình soạn thảo mã (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);