操作方法
在 ArcGIS Pro 中,Arcade 表达式可用于在弹出窗口饼图图例中显示顶部字段值。 本文提供了一个示例和说明,使用 Arcade 表达式创建弹出窗口饼图图例,该图例显示加拿大安大略省卡利登市家庭使用频率最高的三种语言。
var <variableName1> = [ {value: $feature.<fieldName1>, alias: " <fieldAlias1>"}, {value: $feature.<fieldName2>, alias: " <fieldAlias2>"}, ... {value: $feature.<fieldName214>, alias: " <fieldAlias214>"} ];
function getValuesArray(a){ var valuesArray = [] for(var i in a){ valuesArray[i] = a[i].value; } return valuesArray; }
function findAliases(topA,fullA){ var aliases = []; var found = ""; for(var i in topA){ for(var k in fullA){ if(topA[i] == fullA[k].value && topA[i] > 0 && Find(fullA[k].alias, found) == -1){ found += fullA[k].alias; aliases[Count(aliases)] = { alias: fullA[k].alias, value: topA[i] }; } } } return aliases; }
function getTopGroups(groupsArray){ var values = getValuesArray(groupsArray); var topValues = IIF(Max(values) > 0, Top(Reverse(Sort(values)),<numberOfTopValuesToDisplay>), "<textToDisplayWhenThereIsNoValue>"); var topAliases = findAliases(topValues,groupsArray); if(TypeOf(topValues) == "String"){ return topValues; } else { var content = ""; for(var i in topAliases){ content += (i+1) + "." + topAliases[i].alias + " - " + Text(topAliases[i].value, "#,###"); content += IIF(i < Count(topAliases)-1, "<br/>", ""); } } return content; } getTopGroups(<variableName1>);
Note: The legend numbering does not directly represent the ranking when there are more than two similar reference values. For example, the third most spoken languages in the Caledon area are Italian and Tamil, which are spoken in 45 households each.
下面的代码块显示了加拿大安大略省卡利登市家庭中使用使用频率最高的三种语言的完整工作表达式。
var groups = [ {value: $feature.MO_Arabic, alias: " Arabic"}, {value: $feature.MO_Armenian, alias: " Armenian"}, {value: $feature.MO_Belarusian, alias: " Belarusian"}, {value: $feature.MO_Bengali, alias: " Bengali"}, {value: $feature.MO_Bulgarian, alias: " Bulgarian"}, {value: $feature.MO_Burmese, alias: " Burmese"}, {value: $feature.MO_Catalan, alias: " Catalan"}, {value: $feature.MO_Croatian, alias: " Croatian"}, {value: $feature.MO_Czech, alias: " Czech"}, {value: $feature.MO_Danish, alias: " Danish"}, {value: $feature.MO_Dutch, alias: " Dutch"}, {value: $feature.MO_English, alias: " English"}, {value: $feature.MO_Finnish, alias: " Finnish"}, {value: $feature.MO_French, alias: " French"}, {value: $feature.MO_German, alias: " German"}, {value: $feature.MO_Greek, alias: " Greek"}, {value: $feature.MO_Gujarati, alias: " Gujarati"}, {value: $feature.MO_Hakka, alias: " Hakka"}, {value: $feature.MO_Hebrew, alias: " Hebrew"}, {value: $feature.MO_Hindi, alias: " Hindi"}, {value: $feature.MO_Hungarian, alias: " Hungarian"}, {value: $feature.MO_Indonesian, alias: " Indonesian"}, {value: $feature.MO_Iranian_Persian, alias: " IranianPersian"}, {value: $feature.MO_Irish, alias: " Irish"}, {value: $feature.MO_Italian, alias: " Italian"}, {value: $feature.MO_Japanese, alias: " Japanese"}, {value: $feature.MO_Korean, alias: " Korean"}, {value: $feature.MO_Latvian, alias: " Latvian"}, {value: $feature.MO_Macedonian, alias: " Macedonian"}, {value: $feature.MO_Malay, alias: " Malay"}, {value: $feature.MO_Mandarin, alias: " Mandarin"}, {value: $feature.MO_Mongolian, alias: " Mongolian"}, {value: $feature.MO_Nepali, alias: " Nepali"}, {value: $feature.MO_Norwegian, alias: " Norwegian"}, {value: $feature.MO_Polish, alias: " Polish"}, {value: $feature.MO_Punjabi_Panjabi, alias: " Punjabi(Panjabi)"}, {value: $feature.MO_Romanian, alias: " Romanian"}, {value: $feature.MO_Russian, alias: " Russian"}, {value: $feature.MO_Serbian, alias: " Serbian"}, {value: $feature.MO_Sindhi, alias: " Sindhi"}, {value: $feature.MO_Spanish, alias: " Spanish"}, {value: $feature.MO_Swahili, alias: " Swahili"}, {value: $feature.MO_Tamil, alias: " Tamil"}, {value: $feature.MO_Thai, alias: " Thai"}, {value: $feature.MO_Tibetan, alias: " Tibetan"}, {value: $feature.MO_Turkish, alias: " Turkish"}, {value: $feature.MO_Ukrainian, alias: " Ukrainian"}, {value: $feature.MO_Uzbek, alias: " Uzbek"}, {value: $feature.MO_Vietnamese, alias: " Vietnamese"}, {value: $feature.MO_Welsh, alias: " Welsh"}, {value: $feature.MO_Wu_Shanghainese, alias: " Wu(Shanghainese)"}, {value: $feature.MO_Yue_Cantonese, alias: " Yue(Cantonese)"} ]; function getValuesArray(a){ var valuesArray = [] for(var i in a){ valuesArray[i] = a[i].value; } return valuesArray; } function findAliases(topA,fullA){ var aliases = []; var found = ""; for(var i in topA){ for(var k in fullA){ if(topA[i] == fullA[k].value && topA[i] > 0 && Find(fullA[k].alias, found) == -1){ found += fullA[k].alias; aliases[Count(aliases)] = { alias: fullA[k].alias, value: topA[i] }; } } } return aliases; } function getTopGroups(groupsArray){ var values = getValuesArray(groupsArray); var topValues = IIF(Max(values) > 0, Top(Reverse(Sort(values)),3), "Nobody lives here"); var topAliases = findAliases(topValues,groupsArray); if(TypeOf(topValues) == "String"){ return topValues; } else { var content = ""; for(var i in topAliases){ content += (i+1) + "." + topAliases[i].alias + " - " + Text(topAliases[i].value, "#,###"); content += IIF(i < Count(topAliases)-1, "<br/>", ""); } } return content; } getTopGroups(groups);
下图显示了新配置的弹出窗口饼图图例,其中包含加拿大安大略省卡利登市使用频率最高的三种语言。
文章 ID: 000031637
获取来自 ArcGIS 专家的帮助
下载 Esri 支持应用程序