在 GEE 平台上对 Dictionary 的 value 进行排序并保持 key 和 value 一一对应,可以先将一维key列表和一维value列表拼接起来成一个字典,然后对字典的value排序,获取value的索引,根据索引获取key的值,然后将排序好的list绘制成散点图。
完整代码
//创建一个key列表和一个value列表
var keys = ee.List(['a', 'b', 'c', 'YLD']);
var values = ee.List([2, 1, 3, 0]);
//将两个List关联起来,成一个二维字典
var dictionary = ee.Dictionary.fromLists(keys, values);
print('排序前的列表', dictionary);
// 获取字典中的键和值
var keys = dictionary.keys();
var values = dictionary.values();
// 按照属性值进行排序
var sortedValues = values.sort();
// 根据排序后的属性值重新排序列表元素
var sortedKeysList = sortedValues.map(function(value) {
return keys.get(values.indexOf(value));
}).flatten();
// 显示排序后的列表
var list3 = sortedKeysList.zip(sortedValues);
print('排序后的列表', list3);
// 创建一个图表
var chart = ui.Chart.array.values({
array: sortedValues,
axis: 0,
xLabels: sortedKeysList
});
// 打印图表数据
print('Chart Data:', chart);