Biểu đồ hình ảnh

Mô-đun ui.Chart.image chứa một tập hợp các hàm để giảm đối tượng Image theo(các) khu vực và kết xuất biểu đồ từ kết quả. 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 nội dung mô tả và ví dụ về hàm sau đây để xác định hàm và loại biểu đồ 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 vùng hình ảnh 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.

ui.Chart.image.byRegion

Các vùng giảm được lập biểu đồ dọc theo trục x, được gắn nhãn theo các giá trị của một thuộc tính đối tượng đã chọn. Chuỗi được xác định bằng tên dải tần có kết quả giảm vùng được biểu diễn theo trục y.

ui.Chart.image.regions

Các dải được lập biểu đồ dọc theo trục x. Chuỗi được gắn nhãn theo giá trị của thuộc tính tính năng. Mức giảm của vùng được xác định bằng hình học của các đặc điểm của chuỗi tương ứng được biểu diễn theo trục y.

ui.Chart.image.byClass

Các dải dữ liệu được lập biểu đồ dọc theo trục x. Chuỗi được biểu thị bằng các giá trị duy nhất trong một dải lớp. Vị trí trục Y được xác định bằng kết quả giảm vùng cho các pixel tạo nên mỗi chuỗi.

ui.Chart.image.histogram

Biểu đồ tần suất cho các giá trị của dải tần đã chọn.

  • Trục X: các nhóm biểu đồ cho các giá trị của dải đã chọn
  • Trục Y: tần suất của các pixel đủ điều kiện cho mỗi bộ chứa biểu đồ

Dữ liệu mẫu

Các ví dụ sau đây dựa trên FeatureCollection bao gồm ba tính năng vùng sinh thái xác định các vùng để giảm dữ liệu hình ảnh. Dữ liệu Image là giá trị trung bình khí hậu PRISM, trong đó các dải mô tả các biến khí hậu theo tháng; ví dụ: Lượng mưa tháng 7 hoặc nhiệt độ trung bình tháng 1. Tìm hiểu cách tạo thành phần này.

ui.Chart.image.byRegion

Biểu đồ cột

Trong ví dụ này, các dải hình ảnh đại diện cho nhiệt độ trung bình hằng tháng được giảm xuống còn giá trị trung bình giữa các pixel giao nhau với mỗi trong ba vùng sinh thái. Kết quả được biểu diễn dưới dạng cột theo tháng theo vùng sinh thái, trong đó chiều cao cột cho biết nhiệt độ trung bình theo tháng tương ứng.

Trình soạn thảo mã (JavaScript)

// Import the example feature collection.
var ecoregions = ee.FeatureCollection('projects/google/charts_feature_example');

// Load PRISM climate normals image collection; convert images to bands.
var normClim = ee.ImageCollection('OREGONSTATE/PRISM/Norm81m').toBands();

// Define the chart and print it to the console.
var chart =
    ui.Chart.image
        .byRegion({
          image: normClim.select('[0-9][0-9]_tmean'),
          regions: ecoregions,
          reducer: ee.Reducer.mean(),
          scale: 500,
          xProperty: 'label'
        })
        .setSeriesNames([
          'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct',
          'Nov', 'Dec'
        ])
        .setChartType('ColumnChart')
        .setOptions({
          title: 'Average Monthly Temperature by Ecoregion',
          hAxis:
              {title: 'Ecoregion', titleTextStyle: {italic: false, bold: true}},
          vAxis: {
            title: 'Temperature (°C)',
            titleTextStyle: {italic: false, bold: true}
          },
          colors: [
            '604791', '1d6b99', '39a8a7', '0f8755', '76b349', 'f0af07',
            'e37d05', 'cf513e', '96356f', '724173', '9c4f97', '696969'
          ]
        });
print(chart);

Biểu đồ thanh

Bạn có thể hiển thị biểu đồ cột trước đó dưới dạng biểu đồ thanh bằng cách thay đổi dữ liệu đầu vào .setChartType() từ 'ColumnChart' thành 'BarChart'.

var chart =
    ui.Chart.image
        .byRegion({
          image: normClim.select('[0-9][0-9]_tmean'),
          regions: ecoregions,
          reducer: ee.Reducer.mean(),
          scale: 500,
          xProperty: 'label'
        })
        .setSeriesNames([
          'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct',
          'Nov', 'Dec'
        ])
        .setChartType('BarChart')
        .setOptions({
          title: 'Average Monthly Temperature by Ecoregion',
          hAxis: {
            title: 'Temperature (°C)',
            titleTextStyle: {italic: false, bold: true}
          },
          vAxis:
              {title: 'Ecoregion', titleTextStyle: {italic: false, bold: true}},
          colors: [
            '604791', '1d6b99', '39a8a7', '0f8755', '76b349', 'f0af07',
            'e37d05', 'cf513e', '96356f', '724173', '9c4f97', '696969'
          ]
        });

Biểu đồ cột xếp chồng

Tuỳ chọn biểu đồ isStacked chỉ định xem các cột biểu đồ có được xếp chồng hay không. Có một số tuỳ chọn được cung cấp để xếp chồng. Các ví dụ sau đây minh hoạ cách sử dụng tuỳ chọn 'absolute''relative'.

Tuyệt đối

Biểu đồ thanh xếp chồng tuyệt đối liên quan đến tổng của một biến số bằng cách tăng dần một chuỗi biến phân loại đóng góp. Ví dụ: trong ví dụ này, tổng lượng mưa được biểu diễn dưới dạng tích luỹ lượng mưa hằng tháng trong một năm, theo vùng sinh thái. Tổng lượng mưa hằng tháng được lấy từ các dải hình ảnh, trong đó mỗi dải đại diện cho một lưới tổng lượng mưa trung bình của một tháng nhất định, được giảm xuống còn trung bình của các pixel giao nhau với mỗi trong số ba vùng sinh thái. Tuỳ chọn biểu đồ isStacked được đặt thành 'absolute' để định dạng kết quả dưới dạng giá trị tuyệt đối.

Trình soạn thảo mã (JavaScript)

// Import the example feature collection.
var ecoregions = ee.FeatureCollection('projects/google/charts_feature_example');

// Load PRISM climate normals image collection; convert images to bands.
var normClim = ee.ImageCollection('OREGONSTATE/PRISM/Norm81m').toBands();

// Define the chart and print it to the console.
var chart =
    ui.Chart.image
        .byRegion({
          image: normClim.select('[0-9][0-9]_ppt'),
          regions: ecoregions,
          reducer: ee.Reducer.mean(),
          scale: 500,
          xProperty: 'label'
        })
        .setSeriesNames([
          'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct',
          'Nov', 'Dec'
        ])
        .setChartType('ColumnChart')
        .setOptions({
          title: 'Average Monthly Precipitation by Ecoregion',
          hAxis:
              {title: 'Ecoregion', titleTextStyle: {italic: false, bold: true}},
          vAxis: {
            title: 'Precipitation (mm)',
            titleTextStyle: {italic: false, bold: true}
          },
          colors: [
            '604791', '1d6b99', '39a8a7', '0f8755', '76b349', 'f0af07',
            'e37d05', 'cf513e', '96356f', '724173', '9c4f97', '696969'
          ],
          isStacked: 'absolute'
        });
print(chart);

Họ hàng

Chuyển đổi biểu đồ thanh xếp chồng tuyệt đối trước đó thành biểu đồ thanh xếp chồng tương đối bằng cách thay đổi tuỳ chọn biểu đồ isStacked từ 'absolute' thành 'relative'. Biểu đồ thanh xếp chồng tương đối liên quan đến tỷ lệ của chuỗi biến phân loại đóng góp với tổng của một biến số. Ví dụ: trong ví dụ này, lượng mưa hằng tháng được biểu thị dưới dạng tỷ lệ phần trăm tổng lượng mưa hằng năm, theo vùng sinh thái.

var chart =
    ui.Chart.image
        .byRegion({
          image: normClim.select('[0-9][0-9]_ppt'),
          regions: ecoregions,
          reducer: ee.Reducer.mean(),
          scale: 500,
          xProperty: 'label'
        })
        .setSeriesNames([
          'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct',
          'Nov', 'Dec'
        ])
        .setChartType('ColumnChart')
        .setOptions({
          title: 'Average Monthly Precipitation by Ecoregion',
          hAxis:
              {title: 'Ecoregion', titleTextStyle: {italic: false, bold: true}},
          vAxis: {
            title: 'Precipitation (mm)',
            titleTextStyle: {italic: false, bold: true}
          },
          colors: [
            '604791', '1d6b99', '39a8a7', '0f8755', '76b349', 'f0af07',
            'e37d05', 'cf513e', '96356f', '724173', '9c4f97', '696969'
          ],
          isStacked: 'relative'
        });

Biểu đồ tán xạ

Nhiệt độ trung bình vào tháng 1 và tháng 7 của một mẫu ngẫu nhiên các vị trí ở tiểu bang Colorado được biểu diễn dưới dạng hàm của độ cao. DEM được lấy mẫu bằng hàm sample. Hàm này trả về một FeatureCollection có thuộc tính hình học và độ cao. Sau đó, FeatureCollection thu được sẽ được dùng làm đối số cho tham số regions của hàm ui.Chart.image.byRegion. Chuỗi được xác định bằng các dải đã chọn của hình ảnh thông thường về khí hậu đầu vào.

Trình soạn thảo mã (JavaScript)

// Load SRTM elevation data.
var elev = ee.Image('CGIAR/SRTM90_V4').select('elevation');

// Subset Colorado from the TIGER States feature collection.
var colorado = ee.FeatureCollection('TIGER/2018/States')
                   .filter(ee.Filter.eq('NAME', 'Colorado'));

// Draw a random sample of elevation points from within Colorado.
var samp = elev.sample(
    {region: colorado, scale: 30, numPixels: 500, geometries: true});

// Load PRISM climate normals image collection; convert images to bands.
var normClim = ee.ImageCollection('OREGONSTATE/PRISM/Norm81m').toBands();

// Define the chart and print it to the console.
var chart = ui.Chart.image
                .byRegion({
                  image: normClim.select(['01_tmean', '07_tmean']),
                  regions: samp,
                  reducer: ee.Reducer.mean(),
                  scale: 500,
                  xProperty: 'elevation'
                })
                .setSeriesNames(['Jan', 'Jul'])
                .setChartType('ScatterChart')
                .setOptions({
                  title: 'Average Monthly Colorado Temperature by Elevation',
                  hAxis: {
                    title: 'Elevation (m)',
                    titleTextStyle: {italic: false, bold: true}
                  },
                  vAxis: {
                    title: 'Temperature (°C)',
                    titleTextStyle: {italic: false, bold: true}
                  },
                  pointSize: 4,
                  dataOpacity: 0.6,
                  colors: ['1d6b99', 'cf513e'],
                });
print(chart);

Biểu đồ kết hợp

Đối với ba khu vực sinh thái trong ee.FeatureCollection, nhiệt độ và lượng mưa trung bình tương ứng cho tháng 6 được lập biểu đồ. Kết quả được lấy từ việc giảm vùng của một hình ảnh, trong đó mỗi dải là một lưới gồm các giá trị khí hậu thông thường mô tả lượng mưa và nhiệt độ hằng tháng; các dải đại diện cho nhiệt độ và lượng mưa tháng 6 là tập hợp con. Vì lượng mưa và nhiệt độ ở các đơn vị khác nhau, nên hai trục y được sử dụng bằng cách đặt các tuỳ chọn seriesvAxes. Lưu ý việc sử dụng tuỳ chọn series.targetAxisIndex để xác định biến nào được lập biểu đồ cho trục y bên phải và bên trái. Các ký hiệu dành riêng cho chuỗi (điểm và cột) được dùng để dễ dàng phân biệt hai biến có đơn vị khác nhau.

Trình soạn thảo mã (JavaScript)

// Import the example feature collection.
var ecoregions = ee.FeatureCollection('projects/google/charts_feature_example');

// Load PRISM climate normals image collection; convert images to bands.
var normClim = ee.ImageCollection('OREGONSTATE/PRISM/Norm81m').toBands();

// Define the chart and print it to the console.
var chart =
    ui.Chart.image
        .byRegion({
          image: normClim.select(['06_tmean', '06_ppt']),
          regions: ecoregions,
          reducer: ee.Reducer.mean(),
          scale: 500,
          xProperty: 'label'
        })
        .setSeriesNames(['Precipitation', 'Temperature'])
        .setChartType('ColumnChart')
        .setOptions({
          title: 'Average June Temperature and Precipitation by Ecoregion',
          series: {
            0: {targetAxisIndex: 1, type: 'bar', color: '1d6b99'},
            1: {
              targetAxisIndex: 0,
              type: 'line',
              lineWidth: 0,
              pointSize: 10,
              color: 'e37d05'
            }
          },
          hAxis:
              {title: 'Ecoregion', titleTextStyle: {italic: false, bold: true}},
          vAxes: {
            0: {
              title: 'Temperature (°C)',
              baseline: 0,
              titleTextStyle: {italic: false, bold: true, color: 'e37d05'}
            },
            1: {
              title: 'Precipitation (mm)',
              titleTextStyle: {italic: false, bold: true, color: '1d6b99'}
            },
          },
          bar: {groupWidth: '40%'},
        });
print(chart);

ui.Chart.image.regions

Ví dụ về cách thiết lập

Hàm ui.Chart.image.regions chấp nhận một danh sách cho phép bạn kiểm soát nhãn và thứ tự của tên dải tần dọc theo trục x bằng cách gán giá trị số cho các nhãn đó. Các biểu đồ sau đây sử dụng tuỳ chọn này để đặt tên dải là nhãn tháng và sắp xếp các dải theo thứ tự thời gian cho lượng mưa trung bình hằng tháng.

Biểu đồ cột

Biểu đồ này cho thấy tổng lượng mưa trung bình hằng tháng của 3 vùng sinh thái. Kết quả được lấy từ việc giảm vùng của một hình ảnh, trong đó mỗi dải là một lưới tổng lượng mưa trung bình trong một tháng nhất định. Các dải được lập biểu đồ dọc theo trục x và các vùng xác định chuỗi. Lưu ý các thao tác phía máy khách được dùng để xác định dữ liệu đầu vào cho các tuỳ chọn biểu đồ xLabelsticks để sắp xếp tuỳ chỉnh trục x; các thao tác phía máy khách là bắt buộc vì các tuỳ chọn được cung cấp cho hàm setOptions phải là đối tượng phía máy khách (xem phần Máy khách so với máy chủ để hiểu sự khác biệt). Để chuyển đổi sang biểu đồ thanh, hãy sử dụng 'BarChart' làm dữ liệu đầu vào .setChartType().

Trình soạn thảo mã (JavaScript)

// Import the example feature collection.
var ecoregions = ee.FeatureCollection('projects/google/charts_feature_example');

// Load PRISM climate normals image collection, convert images to bands, and
// subset precipitation bands.
var precip = ee.ImageCollection('OREGONSTATE/PRISM/Norm81m')
                 .toBands()
                 .select('[0-9][0-9]_ppt');

// Define a dictionary that associates band names with values and labels.
var precipInfo = {
  '01_ppt': {v: 1, f: 'Jan'},
  '02_ppt': {v: 2, f: 'Feb'},
  '03_ppt': {v: 3, f: 'Mar'},
  '04_ppt': {v: 4, f: 'Apr'},
  '05_ppt': {v: 5, f: 'May'},
  '06_ppt': {v: 6, f: 'Jun'},
  '07_ppt': {v: 7, f: 'Jul'},
  '08_ppt': {v: 8, f: 'Aug'},
  '09_ppt': {v: 9, f: 'Sep'},
  '10_ppt': {v: 10, f: 'Oct'},
  '11_ppt': {v: 11, f: 'Nov'},
  '12_ppt': {v: 12, f: 'Dec'}
};

// Organize precipitation information into objects for defining x values and
// their tick labels. Note that chart options provided to the .setOptions()
// function must be client-side objects, which is why a client-side for
// loop is used to iteratively populate lists from the above dictionary.
var xPropVals = [];    // List to codify x-axis band names as values.
var xPropLabels = [];  // Holds dictionaries that label codified x-axis values.
for (var key in precipInfo) {
  xPropVals.push(precipInfo[key].v);
  xPropLabels.push(precipInfo[key]);
}

// Define the chart and print it to the console.
var chart = ui.Chart.image
                .regions({
                  image: precip,
                  regions: ecoregions,
                  reducer: ee.Reducer.mean(),
                  scale: 5e3,
                  seriesProperty: 'label',
                  xLabels: xPropVals
                })
                .setChartType('ColumnChart')
                .setOptions({
                  title: 'Average Ecoregion Precipitation by Month',
                  hAxis: {
                    title: 'Month',
                    titleTextStyle: {italic: false, bold: true},
                    ticks: xPropLabels
                  },
                  vAxis: {
                    title: 'Precipitation (mm)',
                    titleTextStyle: {italic: false, bold: true}
                  },
                  colors: ['f0af07', '0f8755', '76b349'],
                });
print(chart);

Biểu đồ dạng đường

Bạn có thể hiển thị biểu đồ cột trước đó dưới dạng biểu đồ dạng đường bằng cách thay đổi dữ liệu đầu vào .setChartType() từ 'ColumnChart' thành 'LineChart'.

var chart = ui.Chart.image
                .regions({
                  image: precip,
                  regions: ecoregions,
                  reducer: ee.Reducer.mean(),
                  scale: 500,
                  seriesProperty: 'label',
                  xLabels: xPropVals
                })
                .setChartType('LineChart')
                .setOptions({
                  title: 'Average Ecoregion Precipitation by Month',
                  hAxis: {
                    title: 'Month',
                    titleTextStyle: {italic: false, bold: true},
                    ticks: xPropLabels
                  },
                  vAxis: {
                    title: 'Precipitation (mm)',
                    titleTextStyle: {italic: false, bold: true}
                  },
                  colors: ['f0af07', '0f8755', '76b349'],
                  lineSize: 5
                });

Biểu đồ vùng

Bạn có thể hiển thị biểu đồ cột trước đó dưới dạng biểu đồ vùng bằng cách thay đổi dữ liệu đầu vào .setChartType() từ 'ColumnChart' thành 'AreaChart'.

var chart = ui.Chart.image
                .regions({
                  image: precip,
                  regions: ecoregions,
                  reducer: ee.Reducer.mean(),
                  scale: 500,
                  seriesProperty: 'label',
                  xLabels: xPropVals
                })
                .setChartType('AreaChart')
                .setOptions({
                  title: 'Average Ecoregion Precipitation by Month',
                  hAxis: {
                    title: 'Month',
                    titleTextStyle: {italic: false, bold: true},
                    ticks: xPropLabels
                  },
                  vAxis: {
                    title: 'Precipitation (mm)',
                    titleTextStyle: {italic: false, bold: true}
                  },
                  colors: ['f0af07', '0f8755', '76b349'],
                  lineSize: 5
                });

Biểu đồ hình tròn

Lượng mưa trung bình hằng tháng được thể hiện dưới dạng tỷ lệ phần trăm tổng lượng mưa trung bình hằng năm của một vùng sinh thái rừng. Các dải hình ảnh đại diện cho lượng mưa hằng tháng là tập hợp con của tập dữ liệu về giá trị trung bình của khí hậu và được giảm xuống còn trung bình của các pixel giao nhau với vùng sinh thái.

Trình soạn thảo mã (JavaScript)

// Import the example feature collection, subset the forest ecoregion.
var forest = ee.FeatureCollection('projects/google/charts_feature_example')
                 .filter(ee.Filter.eq('label', 'Forest'));

// Load PRISM climate normals image collection, convert images to bands.
var normClim = ee.ImageCollection('OREGONSTATE/PRISM/Norm81m').toBands();

// Define x-axis labels to replace default band names.
var monthNames = [
  'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov',
  'Dec'
];

// Define the chart and print it to the console.
var chart = ui.Chart.image
                .regions({
                  image: normClim.select('[0-9][0-9]_ppt'),
                  regions: forest,
                  reducer: ee.Reducer.mean(),
                  scale: 5e3,
                  seriesProperty: 'label',
                  xLabels: monthNames
                })
                .setChartType('PieChart')
                .setOptions({
                  title: 'Average Monthly Precipitation for Forest Ecoregion',
                  colors: [
                    '604791', '1d6b99', '39a8a7', '0f8755', '76b349', 'f0af07',
                    'e37d05', 'cf513e', '96356f', '724173', '9c4f97', '696969'
                  ]
                });
print(chart);

Biểu đồ vòng

Chuyển đổi ví dụ về biểu đồ hình tròn thành biểu đồ hình donut bằng cách đặt tuỳ chọn biểu đồ pieHole. Hãy thử 0,4 và 0,6 làm giá trị ban đầu.

var chart = ui.Chart.image
                .regions({
                  image: normClim.select('[0-9][0-9]_ppt'),
                  regions: forest,
                  reducer: ee.Reducer.mean(),
                  scale: 5e3,
                  seriesProperty: 'label',
                  xLabels: monthNames
                })
                .setChartType('PieChart')
                .setOptions({
                  title: 'Average Monthly Precipitation for Forest Ecoregion',
                  colors: [
                    '604791', '1d6b99', '39a8a7', '0f8755', '76b349', 'f0af07',
                    'e37d05', 'cf513e', '96356f', '724173', '9c4f97', '696969'
                  ],
                  pieHole: 0.4
                });

ui.Chart.image.byClass

Biểu đồ dạng đường

Hàm ui.Chart.image.byClass lập biểu đồ số liệu thống kê về giá trị dải tần cho các pixel trong các vùng được phân loại của một "dải tần lớp". Trong ví dụ này, hàm này được dùng để hiển thị hồ sơ quang phổ của ba khu vực sinh thái. Các đặc điểm của vùng sinh thái được tạo điểm ảnh và thêm dưới dạng một dải vào hình ảnh độ phản chiếu bề mặt (SR) của MODIS. Đối với mỗi lớp vùng sinh thái và dải độ phản chiếu, giá trị trung bình của pixel tương ứng sẽ được tính toán và lập biểu đồ trên trục y. Bước sóng trung tâm của các dải MODIS SR xác định các dấu và nhãn trên trục x. Lưu ý rằng tuỳ chọn biểu đồ dạng đường curveType được đặt thành 'function' để làm mượt các đường.

Trình soạn thảo mã (JavaScript)

// Import the example feature collection.
var ecoregions = ee.FeatureCollection('projects/google/charts_feature_example');

// Convert ecoregion feature collection to a classified image.
var regionsBand =
    ecoregions
        .reduceToImage({properties: ['value'], reducer: ee.Reducer.first()})
        .rename('class');

// Define a MODIS surface reflectance composite.
var modisSr = ee.ImageCollection('MODIS/006/MOD09A1')
                  .filter(ee.Filter.date('2018-06-01', '2018-09-01'))
                  .select('sur_refl_b0[0-7]')
                  .mean();

// Reorder reflectance bands by ascending wavelength and
// add the classified ecoregions image as a band to the SR collection and
var modisSrClass = modisSr.select([2, 3, 0, 1, 4, 5, 6]).addBands(regionsBand);

// Define a list of MODIS SR wavelengths for x-axis labels.
var wavelengths = [469, 555, 655, 858, 1240, 1640, 2130];

// Define the chart and print it to the console.
var chart = ui.Chart.image
                .byClass({
                  image: modisSrClass,
                  classBand: 'class',
                  region: ecoregions,
                  reducer: ee.Reducer.mean(),
                  scale: 500,
                  classLabels: ['Desert', 'Forest', 'Grassland'],
                  xLabels: wavelengths
                })
                .setChartType('ScatterChart')
                .setOptions({
                  title: 'Ecoregion Spectral Signatures',
                  hAxis: {
                    title: 'Wavelength (nm)',
                    titleTextStyle: {italic: false, bold: true},
                    viewWindow: {min: wavelengths[0], max: wavelengths[6]}
                  },
                  vAxis: {
                    title: 'Reflectance (x1e4)',
                    titleTextStyle: {italic: false, bold: true}
                  },
                  colors: ['f0af07', '0f8755', '76b349'],
                  pointSize: 0,
                  lineSize: 5,
                  curveType: 'function'
                });
print(chart);

ui.Chart.image.histogram

Biểu đồ về giá trị pixel trong một khu vực xung quanh thành phố Salt Lake, Utah, Hoa Kỳ được hiển thị cho ba dải phản xạ bề mặt MODIS.

Trình soạn thảo mã (JavaScript)

// Define a MODIS surface reflectance composite.
var modisSr = ee.ImageCollection('MODIS/006/MOD09A1')
                  .filter(ee.Filter.date('2018-06-01', '2018-09-01'))
                  .select(['sur_refl_b01', 'sur_refl_b02', 'sur_refl_b06'])
                  .mean();

// Define a region to calculate histogram for.
var histRegion = ee.Geometry.Rectangle([-112.60, 40.60, -111.18, 41.22]);

// Define the chart and print it to the console.
var chart =
    ui.Chart.image.histogram({image: modisSr, region: histRegion, scale: 500})
        .setSeriesNames(['Red', 'NIR', 'SWIR'])
        .setOptions({
          title: 'MODIS SR Reflectance Histogram',
          hAxis: {
            title: 'Reflectance (x1e4)',
            titleTextStyle: {italic: false, bold: true},
          },
          vAxis:
              {title: 'Count', titleTextStyle: {italic: false, bold: true}},
          colors: ['cf513e', '1d6b99', 'f0af07']
        });
print(chart);