Uma representação visual de uma árvore de dados, em que cada nó pode ter zero ou mais filhos e um pai (exceto a raiz, que não tem pais). Cada nó é exibido como um retângulo, dimensionado e colorido de acordo com os valores atribuídos por você. Os tamanhos e as cores têm valores em relação a todos os outros nós no gráfico. Você pode especificar quantos níveis serão exibidos simultaneamente e, opcionalmente, exibir níveis mais profundos de uma maneira sugerida. Se um nó for de folha, será possível
especificar um tamanho e uma cor. Se não for uma folha, ele será exibido
como uma caixa delimitadora para nós de folha. O comportamento padrão é mover para baixo na árvore quando um usuário clica com o botão esquerdo do mouse em um nó e voltar para cima quando um usuário clica com o botão direito do mouse no gráfico.
O tamanho total do gráfico é determinado pelo tamanho do elemento contêiner que você insere na sua página. Se você tiver nós de folhas com nomes muito longos, o nome será truncado com reticências (...).
Você pode especificar se os elementos precisam ser destacados e definir cores específicas para
determinados elementos usarem quando isso ocorrer. Para ativar o destaque, defina
highlightOnMouseOver:true (para a v49 ou anterior) ou enableHighlight: true (para a v50+).
A partir daí, você pode definir as cores que serão usadas
para destacar elementos usando as várias opções de HighlightColor.
var options = { // For v49 or before
highlightOnMouseOver: true,
maxDepth: 1,
maxPostDepth: 2,
minHighlightColor: '#8c6bb1',
midHighlightColor: '#9ebcda',
maxHighlightColor: '#edf8fb',
minColor: '#009688',
midColor: '#f7f7f7',
maxColor: '#ee8100',
headerHeight: 15,
showScale: true,
height: 500,
useWeightedAverageForAggregation: true
};
var optionsV50 = { // For v50+
enableHighlight: true,
maxDepth: 1,
maxPostDepth: 2,
minHighlightColor: '#8c6bb1',
midHighlightColor: '#9ebcda',
maxHighlightColor: '#edf8fb',
minColor: '#009688',
midColor: '#f7f7f7',
maxColor: '#ee8100',
headerHeight: 15,
showScale: true,
height: 500,
useWeightedAverageForAggregation: true,
// Use click to highlight and double-click to drill down.
eventsConfig: {
highlight: ['click'],
unhighlight: ['mouseout'],
rollup: ['contextmenu'],
drilldown: ['dblclick'],
}
};
Dicas
Por padrão, as dicas do mapa de árvore são básicas e mostram a etiqueta da célula. Isso é útil quando as células são muito pequenas para conter os
rótulos, mas você pode personalizá-los ainda mais conforme descrito nesta seção.
As dicas do mapa de árvore são personalizadas de maneira diferente de outros gráficos: você define uma função e, em seguida, configura a opção generateTooltip para ela. Veja um exemplo simples:
No gráfico acima, definimos uma função chamada showStaticTooltip, que simplesmente retorna uma string com o HTML que será mostrado sempre que o usuário passar o cursor sobre uma célula do mapa de árvore. Confira! O código para gerar isso é o seguinte:
var options = {
minColor: '#e7711c',
midColor: '#fff',
maxColor: '#4374e0',
showScale: true,
generateTooltip: showStaticTooltip
};
tree.draw(data, options);
function showStaticTooltip(row, size, value) {
return '<div style="background:#fd9; padding:10px; border-style:solid">' +
'Read more about the <a href="http://en.wikipedia.org/wiki/Kingdom_(biology)">kingdoms of life</a>.</div>';
}
A função generateTooltip pode ser qualquer JavaScript que você
quiser. Normalmente, você vai querer dicas que variam com base nos valores dos dados. O exemplo a seguir mostra como acessar todos os campos na tabela de dados.
Se você passar o cursor sobre as células no mapa de árvore acima, verá uma dica diferente para cada célula. Todas as funções de dica de mapa de árvore
aceitam três valores: row, size
e value.
row: a linha da célula da tabela de dados
size: a soma do valor (coluna 3) dessa
célula e de todos os filhos dela.
value: a cor da célula, expressa como um número de 0 a 1.
Em showFullTooltip, a string que retornamos é uma caixa HTML com cinco linhas:
A linha 1 mostra a linha apropriada da tabela de dados, fazendo
uso livre de data.getValue.
A 2 informa qual é a linha, que é apenas
o parâmetro row.
A linha 3 fornece informações da coluna 3 da tabela de dados: a
soma do valor da coluna 3 dessa linha mais os valores dos
descendentes.
A linha 4 fornece as informações da coluna 4 da tabela de dados. É
o valor, mas expresso como um número entre 0 e 1 correspondente à
cor da célula.
O nome da classe da visualização é google.visualization.TreeMap.
var visualization = new google.visualization.TreeMap(container);
Formato de dados
Cada linha na tabela de dados descreve um nó (um retângulo no gráfico). Cada nó (exceto o nó raiz) tem um nó pai. Cada nó é dimensionado e
colorido de acordo com seus valores em relação aos outros nós mostrados no momento.
A tabela de dados deve ter quatro colunas neste formato:
Coluna 0 - [string] um ID para esse nó. Pode ser qualquer string JavaScript válida, incluindo espaços e qualquer tamanho que uma string possa conter. Esse valor é
exibido como o cabeçalho do nó.
Coluna 1 — [string]: o ID do nó pai. Se for um nó raiz, deixe este campo em branco. Só é permitida uma raiz por mapa de árvore.
Coluna 2: [número]: o tamanho do nó. Qualquer valor positivo é
permitido. Esse valor determina o tamanho do nó, calculado em relação a todos
os outros nós mostrados no momento. Para nós que não sejam de folha, esse valor é ignorado e
calculado com base no tamanho de todos os filhos.
Coluna 3 — [opcional, número] - Um valor opcional usado para calcular uma cor para este nó. Qualquer valor, positivo ou negativo, é permitido.
Primeiro, o valor da cor é recalculado em uma escala de minColorValue a maxColorValue. Em seguida, o nó recebe uma cor do gradiente entre minColor e maxColor.
Opções de
configuração
Nome
enableHighlight (para v50+)
Determina se os elementos devem mostrar efeitos destacados. O gatilho padrão é quando o mouse é passado.
O gatilho pode ser configurado com eventsConfig. Se definido como true, o destaque de elementos diferentes poderá ser especificado usando as várias opções de highlightColor.
Tipo: booleano
Padrão:false
eventsConfig (para a versão v50 ou mais recente)
A configuração do evento para acionar interações do mapa de árvore.
Formate para configurar interações:
Se a matriz de configuração estiver indefinida ou ausente para uma interação, o default será usado.
Se a configuração for uma matriz vazia, a interação será desativada.
Para uma configuração válida, mouse_event é necessário e precisa ser um evento de mouse compatível. É possível ter até quatro modificadores de tecla opcionais.
Desenha o gráfico dentro de um frame inline. No IE8, essa opção é ignorada. Todos os gráficos do IE8 são desenhados em i-frames.
Tipo: booleano
Padrão:false
headerColor
A cor da seção do cabeçalho de cada nó. Especifique um valor de cor HTML.
Tipo: string
Padrão: #988f86
headerHeight
A altura da seção do cabeçalho de cada nó, em pixels (pode ser zero).
Número do tipo
Padrão:0
headerHighlightColor
A cor do cabeçalho de um nó sobre o qual você está passando o cursor. Especifica um valor de cor HTML ou nulo.
Se nulo, esse valor será reduzido em 35% para headerColor.
Tipo: string
Padrão:nulo
destaqueOnMouseOver (descontinuado na versão v50 ou mais recente)
Descontinuado para v50+. Para v50 e posteriores, use enableHighlight.
Determina se os elementos devem mostrar efeitos destacados quando o mouse é passado. Se definido como true, o destaque de elementos diferentes poderá ser especificado usando as várias opções de highlightColor.
Tipo: booleano
Padrão:false
hintOpacity
Quando maxPostDepth é maior que 1, fazendo com que os nós abaixo da profundidade atual sejam mostrados, hintOpacity especifica o nível de transparência que precisa ser. Ele precisa estar
entre 0 e 1. Quanto maior o valor, mais escuro o nó.
Tipo: número
Padrão:0,0
maxColor
A cor de um retângulo com um valor de coluna 3 de maxColorValue. Especifique um
valor de cor HTML.
Tipo: string
Padrão: #00dd00
maxDepth
O número máximo de níveis de nó a serem mostrados na visualização atual. Os níveis serão nivelados
no plano atual. Se sua árvore tiver mais níveis do que isso, você terá que subir ou descer para vê-los. Além disso, é possível ver os níveis de maxPostDepth abaixo disso como retângulos sombreados nesses nós.
Tipo: número
Padrão: 1
maxHighlightColor
A cor de destaque a ser usada para o nó com o maior valor na coluna 3. Especifica um valor de cor HTML ou nulo. Se nulo, esse valor será o valor de maxColor reduzido em 35%.
Tipo: string
Padrão:nulo
maxPostDepth
Quantos níveis de nós além de maxDepth serão mostrados de forma "dica".
Os nós sugeridos são mostrados como retângulos sombreados dentro de um nó que está dentro do
limite de maxDepth.
Tipo: número
Padrão:0
maxColorValue
O valor máximo permitido na coluna 3. Todos os valores maiores que esse serão cortados para esse valor. Se definido como nulo, ele será definido como o valor máximo na coluna.
Tipo: número
Padrão:nulo
midColor
A cor de um retângulo com um valor de coluna 3 no meio entre maxColorValue e minColorValue. Especifique um valor de cor HTML.
Tipo: string
Padrão: #000000
midHighlightColor
A cor de destaque a ser usada para o nó com um valor da coluna 3 próximo à mediana de
minColorValue e maxColorValue. Especifica um valor de cor HTML ou
nulo. Se nulo, esse valor será o valor de midColor reduzido em 35%.
Tipo: string
Padrão:nulo
minColor
A cor de um retângulo com o valor da coluna 3 de minColorValue. Especifique um
valor de cor HTML.
Tipo: string
Padrão: #dd0000
minHighlightColor
A cor de destaque a ser usada para o nó com um valor da coluna 3 mais próximo de
minColorValue. Especifica um valor de cor HTML ou nulo. Se for nulo, esse valor será
o valor de minColor reduzido em 35%.
Tipo: string
Padrão:nulo
minColorValue
O valor mínimo permitido na coluna 3. Todos os valores menores que isso serão cortados para esse
valor. Se definido como nulo, ele será calculado como o valor mínimo na coluna.
Tipo: número
Padrão:nulo
noColor
A cor a ser usada em um retângulo quando um nó não tem valor para a coluna 3 e esse nó é uma folha (ou contém apenas folhas). Especifique um valor de cor HTML.
Tipo: string
Padrão: #000000
noHighlightColor
A cor a ser usada para um retângulo de cor “não” quando destacado. Especifica um valor de cor HTML
ou nulo. Se nulo, será o valor de noColor reduzido em
35%.
Tipo: string
Padrão:nulo
showScale
Indica se uma escala de gradiente de cor será exibida de minColor a maxColor na parte superior do gráfico. Especifique "true" para mostrar a escala.
Tipo: booleano
Padrão:false
showTooltips
Indica se as dicas serão mostradas.
Tipo: booleano
Padrão:true
textStyle
Um objeto que especifica o estilo de texto para determinados gráficos que têm texto na área de conteúdo, como o mapa de árvore. O objeto tem este formato:
Indica se médias ponderadas devem ser usadas para agregação.
Tipo: booleano
Padrão:false
Métodos
Método
draw(data, options)
Desenha o gráfico.
Return Type: nenhum
getEventsConfig() (for v50+)
Retorna a configuração de interação atual. Isso pode ser usado para verificar a opção de configuração eventsConfig
Tipo de retorno: Object
{ // An empty array (i.e. []) means the interaction is disabled.
highlight: string[],
unhighlight: string[],
rollup: string[],
drilldown: string[] }
getSelection()
Implementação
padrão de
getSelection(). Os elementos selecionados são os nós. Só é possível selecionar um nó por vez.
Tipo de retorno:matriz de elementos de seleção
setSelection()
Implementação
padrão de
setSelection(). Os elementos selecionados são os nós. Só é possível selecionar um nó por vez.
Return Type: nenhum
goUpAndDraw()
Suba um nível na árvore e desenhe-a novamente. Não gera um erro se o nó for o nó raiz. Disparado automaticamente quando o usuário clica com o botão direito do mouse em um nó.
Return Type: nenhum
getMaxPossibleDepth()
Retorna a profundidade máxima possível para a visualização atual.
Tipo de devolução: número
clearChart()
Limpa o gráfico e libera todos os recursos alocados.
Return Type: nenhum
Eventos
Consulte eventsConfig para mais informações sobre acionadores de eventos configuráveis.
Nome
onmouseover
Disparado quando o usuário passa o mouse sobre um nó. O manipulador de eventos recebe o índice da linha da entrada correspondente na tabela de dados.
Properties:linha
highlight (for v50+)
Disparado quando o usuário destaca um nó. O gatilho padrão é mouseover.
Ele pode ser configurado com eventsConfig para v50+. O manipulador de eventos recebe o índice de linha da entrada correspondente na tabela de dados.
Properties:linha
onmouseout
Disparado quando o usuário tira o mouse de um nó. O manipulador de eventos recebe o índice da linha da entrada correspondente na tabela de dados.
Properties:linha
unhighlight (for v50+)
Disparado quando o usuário remove o destaque de um nó. O gatilho padrão é mouseout.
Ele pode ser configurado com eventsConfig para v50+. O manipulador de eventos recebe o índice de linha da entrada correspondente na tabela de dados.
Properties:linha
ready
Disparado quando o gráfico está pronto para chamadas de métodos externos. Se você quiser interagir com o gráfico e chamar métodos depois de desenhá-lo, configure um listener para esse evento antes de chamar o método draw e chame-o somente depois que o evento for disparado.
Propriedades:nenhuma.
rollup
Disparado quando o usuário volta para cima na árvore. O gatilho padrão é clicar com o botão direito do mouse.
Ele pode ser configurado com eventsConfig para v50+. A propriedade da linha transmitida no manipulador de eventos é a linha do nó do qual o usuário está navegando a partir, não a linha para a qual o usuário está navegando para.
Properties:linha
select
Disparado quando o usuário faz o detalhamento ou acumula um nó. Também acionado quando o método setSelection() ou goUpAndDraw() é chamado.
Para saber qual nó foi selecionado, chame getSelection().
Properties:nenhuma
drilldown (for v50+)
Disparado quando o usuário navega mais profundamente na árvore. O gatilho padrão é um clique.
Ele pode ser configurado com eventsConfig para v50+. Para saber qual nó foi clicado, chame getSelection().
Properties:nenhuma
Política de dados
Todos os códigos e dados são processados e renderizados no navegador. Nenhum dado é enviado para nenhum servidor.