Google Earth Engine(GEE)实例代码学习三十八——绘制季节平均温度直方图(Sensonal Temperature)

温度直方图

本文分享如何绘制美国州选定季节平均温度图表,图表显示最冷,最热以及变化最小的三个州平均温度

//引入美国州矢量地图
var states = ee.FeatureCollection('TIGER/2018/States');
//引入美国地区温度数据,toBands()把12个影像转为一幅影像12波段
//tmean表示月平均温度平均值(计算为(tmin + tmax)/2)
//返回波段名为'0x_tmean'
var normClim = ee.ImageCollection('OREGONSTATE/PRISM/Norm81m')
  .select(['tmean'])
  .toBands();

// 计算每个州的平均温度
states = normClim.reduceRegions({
  collection: states,
  reducer: ee.Reducer.mean(),
  scale: 5e4})
  .filter(ee.Filter.notNull(['01_tmean']));

// 计算每个州的1月到6月的温差并设置为属性。
states = states.map(function(state) {
  var julyTemp = ee.Number(state.get('06_tmean'));
  var janTemp = ee.Number(state.get('01_tmean'));
  return state.set('seasonal_delta', julyTemp.subtract(janTemp));
});

// 从要素数据集限制选为1个,按指定的属性对它们进行排序
var extremeStates =
  states.limit(1, '01_tmean')                 // 最冷时期
  .merge(states.limit(1, '07_tmean', false))  // 最热
  .merge(states.limit(1, 'seasonal_delta'));  //变化最小
// 设置x轴
var months = {
  '01_tmean': 1,
  '04_tmean': 4,
  '07_tmean': 7,
  '10_tmean': 10
};

// 设置一个图表,‘extremeStates’要素集,‘months’x轴,‘name’图例中每个要素属性
var extremeTempsChart =
  ui.Chart.feature.byProperty(extremeStates, months, 'NAME')
    .setChartType('LineChart')
    .setOptions({
      title: 'Average Temperatures in U.S. States',
      //设置x轴
      hAxis: {
        title: 'Month',
        ticks: [{v: months['01_tmean'], f: 'January'},
                {v: months['04_tmean'], f: 'April'},
                {v: months['07_tmean'], f: 'July'},
                {v: months['10_tmean'], f: 'October'}]
      },
      //设置y轴
      vAxis: {
        title: 'Temperature (Celsius)'
      },
      lineWidth: 1,
      pointSize: 3
    });

print(extremeTempsChart);

代码运行实例
Google Earth Engine(GEE)实例代码学习三十八——绘制季节平均温度直方图(Sensonal Temperature)_第1张图片

你可能感兴趣的:(GEE实例代码学习)