Instrução

Criar uma legenda pop-up do gráfico de pizza exibindo os principais valores do ArcGIS Pro.

Last Published: May 29, 2025

Descriçã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á.

Solução ou Solução Provisória

  1. Inicie o ArcGIS Pro e abra o projeto.
  2. No painel Conteúdo, clique com o botão direito na classe de feição e clique em Configurar Pop-ups para abrir o painel Configurar Pop-ups da classe de feição.
Abrindo a ferramenta Configurar Pop-ups da classe de feição no painel Conteúdo
  1. No painel Configurar Pop-ups , clique em Expressões para adicionar um campo usando uma expressão Arcade para usar no pop-up.
  2. No painel Expressões , clique em Novo.
  3. Na caixa de diálogo Construtor de Expressões, configure os seguintes parâmetros para a expressão Arcade:
    1. Para Nome, renomeie a nova expressão.
    2. Para Título, especifique um título para a nova expressão.
  4. Para a seção Expressão , insira a seguinte expressão Arcade.
    1. Para definir o parâmetro da matriz que armazena os valores de campo numérico concorrentes e o texto da propriedade de nome alternativo do campo, especifique o seguinte:
var <variableName1> = [
      {value: $feature.<fieldName1>, alias: " <fieldAlias1>"},
      {value: $feature.<fieldName2>, alias: " <fieldAlias2>"},
      ...
      {value: $feature.<fieldName214>, alias: " <fieldAlias214>"}
];
  1. Especifique a instrução a seguir para reindexar a matriz por valores de matriz.
function getValuesArray(a){
  var valuesArray = []
  for(var i in a){
    valuesArray[i] = a[i].value;
  }
  return valuesArray;
}
  1. Especifique a instrução a seguir para pesquisar e compilar os nomes alternativos do campo relacionado à matriz do campo.
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;
}
  1. Especifique a instrução a seguir para classificar a matriz do valor de campo mais alto para o mais baixo e retornar os nomes alternativos do campo e os valores de campo.
    • Para <numberOfTopValuesToDisplay>, insira o número desejado dos principais valores a serem exibidos. Neste exemplo, o número é 3.
    • Para <textToDisplayWhenThereIsNoValue>, insira o texto a ser exibido se o valor do campo estiver em branco. Neste exemplo, o texto a ser exibido é 'Ninguém mora aqui'.
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);
  1. Clique em Verificar para executar um teste da expressão. Se a expressão for válida, clique em OK.
A caixa de diálogo Construtor de Expressões com um exemplo da expressão Arcade
  1. No painel Expressões , clique em Voltar O ícone Voltar.
O painel Expressões
  1. Clique em Texto para adicionar o elemento pop-up de texto e clique em Editar elemento pop-up Editar Elemento Pop-up no elemento Texto .
Abrir painel Configurar Pop-ups
  1. No painel Opções de Texto , especifique um título para a legenda e a expressão recém-criada. Neste exemplo, a expressão recém-criada é {expression/expression3}. Clique em Voltar O ícone Voltar para aplicar a configuração do elemento pop-up de texto.
O painel Opções de Texto

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á.

A legenda pop-up do gráfico de pizza recém-configurada no ArcGIS Pro

ID do Artigo: 000031637

Receba notificações e encontre soluções para problemas novos ou comuns

Obtenha respostas resumidas e soluções de vídeo do nosso novo chatbot de IA.

Baixe o Aplicativo de Suporte da Esri

Informações Relacionadas

Descubra mais sobre este tema

Obtenha ajuda de especialistas do ArcGIS

Entre em contato com Suporte Técnico

Baixe o Aplicativo de Suporte da Esri

Ir para as opções de download