Instrução
No ArcGIS Pro, as expressões Arcade podem ser utilizadas para exibir os valores de campo superiores em uma legenda pop-up do gráfico de pizza. Este artigo fornece um exemplo e instruções usando expressões do Arcade para criar a legenda pop-up do gráfico de pizza exibindo os três principais idiomas locais falados em Caledon, Ontário, Canadá.
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.
O bloco de código abaixo mostra a expressão de trabalho completa para os três principais idiomas locais falados em Caledon, Ontário, Canadá.
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);
A imagem abaixo mostra a legenda pop-up do gráfico de pizza recém-configurada com os três principais idiomas mais falados em Caledon, Ontário, Canadá.
ID do Artigo: 000031637
Obtenha ajuda de especialistas do ArcGIS
Baixe o Aplicativo de Suporte da Esri