![chst=d_bubble_icon_text_small&chld=ski|bb|Wheeee!|FFFFFF|000000 Mesmo marcador de ícone dinâmico como imagem independente.](https://developers-dot-devsite-v2-prod.appspot.com/static/chart/image/images/chart_304.png?authuser=3&hl=pt-br)
Nesta página, descrevemos como criar uma variedade de frases de destaque, balões, alfinetes e outros elementos gráficos que podem ser solicitados pelo URL ou adicionados como marcadores sobre outros gráficos.
Sumário
Introdução
A API de gráficos do Google permite criar diversas frases de destaque, alfinetes ou balões interessantes que misturam texto e imagens. Esses itens são chamados de ícones dinâmicos.
Você pode criar uma imagem de ícone dinâmico independente ou posicionar um ícone dinâmico na parte superior do gráfico como um tipo de marcador usando o parâmetro chem
. Nesta página, descrevemos como criar ícones dinâmicos como imagens independentes ou como marcadores em outro gráfico. A página de referência Ícones dinâmicos no infográfico descreve todos os tipos de marcadores dinâmicos disponíveis.
A sintaxe para criar um ícone dinâmico depende se você quer um ícone independente ou um marcador dinâmico em outro gráfico.
Ícones independentes
Você pode solicitar uma imagem de ícone dinâmico da mesma forma que solicita qualquer um dos outros gráficos. Um ícone dinâmico independente oferece suporte a um conjunto de parâmetros diferente dos outros gráficos:
Parâmetro | Obrigatório ou opcional | Descrição |
---|---|---|
chst=<icon_string_constant> |
Obrigatório | Descreve qual tipo de ícone criar.
|
chld=<icon_data> |
Obrigatório | Os dados específicos usados para descrever o tamanho, a rotação, o texto e outros dados necessários do ícone.
|
cht |
NÃO USADO | Os gráficos de ícones dinâmicos independentes não usam o parâmetro cht . |
chs |
NÃO USADO | Os gráficos de ícones dinâmicos independentes não usam o parâmetro chs . |
chd |
NÃO USADO | Use o parâmetro chld para transmitir dados a um ícone dinâmico independente. |
Exemplo
https://chart.googleapis.com/chart?chst=d_bubble_icon_text_small&chld=ski|bb|Wheeee!|FFFFFF|000000
Marcadores dinâmicos
Você pode incorporar um ícone dinâmico como um tipo de marcador em vários tipos diferentes de gráficos usando o parâmetro chem
. Consulte a documentação do chem
para saber como fazer isso.
Exemplo
https://chart.googleapis.com/chart?
chs=300x140
cht=lc&chco=FF9900,224499
chd=t:75,74,66,30,10,5,3,1
chls=1|1
chem=y;s=bubble_icon_text_small;d=ski,bb,Wheeee!,FFFFFF;dp=2;ds=0
chm=v,ccccFF,0,::.2,2
Recursos de ícones comuns
A maioria dos ícones pode ter strings de texto ou sombras associadas a eles.
Strings de texto
Todos os textos de exibição transmitidos para a API de gráficos do Google devem ser codificados em UTF-8 e, em seguida, codificados para URL.
Isso afeta somente caracteres não seguros para o URL. Esses caracteres são principalmente as letras de "a" a "z" em letras maiúsculas e minúsculas, além de um pequeno conjunto de pontuação. Por exemplo, o valor codificado para URL e UTF-8 da letra "è" é "%C3%A8
" e, para o caractere chinês, 駅 é "%E9%A7%85
". A maioria dos navegadores permite que você use um valor não codificado na string do URL (por exemplo, 駅) e o codifica para você em segundo plano.
No entanto, é possível que alguém que visualize o URL do seu gráfico esteja usando um navegador que não faz isso. Por isso, geralmente é melhor codificar em UTF-8 e codificar para URL todos os caracteres não ASCII nas strings de texto. Isso se aplica apenas ao texto mostrado em balões
ou alfinetes, não para caracteres "&",
| ou outros que fazem parte da sintaxe do URL.
Ao usar o parâmetro chem
para especificar marcadores de ícones dinâmicos, você também precisa inserir caracteres de escape para determinados caracteres no texto, conforme descrito na documentação de chem
.
Sombras
Você pode adicionar sombras a muitos ícones ou até mesmo desenhar sombras para alguns ícones sem o próprio ícone.
Ícones ocultos
Muitos desses ícones podem ser desenhados com ou sem sombras. Se o sombreamento
for uma opção, o nome do ícone terá uma versão que termina em _withshadow
e
outra sem esse final. Você pode especificar um ícone com uma das duas finais,
dependendo se quer usar a sombra ou não.
Veja um exemplo de balão de texto médio e de alfinete com e sem sombras:
![]() chst=d_bubble_icon_text_big |
![]() chst=d_bubble_icon_text_big_withshadow |
![]() chst=d_map_pin_icon |
![]() chst=d_map_pin_icon_withshadow |
Sombras independentes ![chst=d_map_pin_shadow Somente sombra](https://developers-dot-devsite-v2-prod.appspot.com/static/chart/image/images/chart_312.png?authuser=3&hl=pt-br)
Alguns tipos de ícone permitem que você desenhe a sombra por conta própria. Faça isso se você estiver usando vários ícones sombreados sobrepostos em uma imagem e eles estiverem tão próximos que a sombra de um ícone cai sobre outro. Por exemplo, aqui está dois balões sombreados, Robert foi desenhado primeiro e depois Alice:
Observe como a sombra de Alice cobre parcialmente Robert. Para corrigir isso, desenhe a sombra de Alice primeiro, depois o balão de Robert e, em seguida, Alice sem sombra. Talvez não seja totalmente realista em termos de iluminação e sombras, mas isso evita ocultar uma bolha com a sombra de outra:
chem=
y;s=bubble_text_small_shadow;d=bb,Alice,FF8,000;ds=0;dp=1;py=1 // Alice, no shadow
y;s=bubble_text_small_withshadow;d=bbtr,Robert,FF8,000;ds=0;dp=3.5;py=1 // Robert with shadow
y;s=bubble_text_small;d=bb,Alice,FF8,000;ds=0;dp=1;py=1 // Alice shadow
Todos os marcadores especificam a mesma ordem z de 1 (py=1
), então são desenhados na ordem listada, por cima dos elementos do gráfico (a linha do gráfico). Primeiro, a sombra de Alice é desenhada, depois o balão de Roberto e, por fim, o balão de Alice.
Consulte a documentação do seu tipo de ícone específico para saber se você pode desenhar a sombra por conta própria.
Ícones contextuais
![chs=150x70&cht=lc&chco=FF9900,224499&chd=s:09akaAZvnki&chls=1|1&chtt=Marble+Sales&chem=y;s=cm_color_size;ds=0;dp=all;d=disk,0,F00,0FF,F55,0,0,20,10,000,hb Exemplo de ícone contextual](https://developers-dot-devsite-v2-prod.appspot.com/static/chart/image/images/chart_315.png?authuser=3&hl=pt-br)
Você pode especificar um ícone que varia de cor, tamanho ou empilhamento de acordo com o ponto ao qual foi atribuído. Esses tipos de ícone estão disponíveis apenas como marcadores de ícones dinâmicos (parâmetro chem
), não como ícones independentes.
Esses ícones podem ser renderizados em uma série diferente da série que especifica sua cor, tamanho ou informações de empilhamento. Isso significa que o valor ds
do parâmetro chem
especifica a série em que o ícone será renderizado, mas os valores para determinar o tamanho ou a cor do ícone são especificados nos parâmetros abaixo. Um bom uso disso é usar uma série de dados escondidos para dados de ícones, mas renderizar os ícones em uma linha ou barra visível. Confira alguns exemplos:
Ícone renderizado na série de origem | Ícone renderizado em séries que não são de origem | Ícone usando séries ocultas |
---|---|---|
![]() |
![]() |
![]() |
chem=
|
chem=
|
chd=t1:
|
Tipos de marcadores de contexto
Tipo de marcador | Valor de chem s |
Exemplo |
---|---|---|
Variação de cor | s=cm_color |
![]() |
Variação de tamanho | s=cm_size |
![]() |
Variação de cor e tamanho | s=cm_color_size |
![]() |
Variação de empilhamento | s=cm_repeat |
![]() |
Empilhamento e variação de cor | s=cm_repeat_color |
![]() |
Strings de alinhamento para ícones contextuais
Os ícones contextuais oferecem suporte a uma string de alinhamento opcional para especificar um alinhamento e deslocamento do ícone em relação ao ponto de dados. Essa string tem a seguinte sintaxe:
<alignment>[+/-<h_anchor_offset>+/-<v_anchor_offset>]
- alignment
- Duas letras que descrevem o alinhamento do ícone em relação ao ponto. Os exemplos incluem
tl
(canto superior esquerdo) erb
(canto inferior direito). Consulte a descrição do parâmetro alignment_string do parâmetrochem
para conferir uma lista completa e uma descrição. - h_anchor_offset
- [Opcional] O deslocamento horizontal do ponto de fixação, em pixels. Valores incluindo zero precisam ser precedidos por + ou -. Importante:é necessário codificar + para o URL como %2B.
- v_anchor_offset
- [Opcional] O deslocamento vertical do ponto de fixação, em pixels. Valores incluindo zero devem ser precedidos por + ou -. Importante:você deve codificar + como %2B.
Também é possível usar o componente of
do parâmetro chem
para especificar deslocamentos horizontais e verticais. Se você especificar o componente of
e os valores h_anchor_offset v_anchor_offset
, todos os deslocamentos serão aplicados ao ícone.
Exemplos:
![]() hb-0-0 Parte central inferior horizontal Sem deslocamentos |
![]() lb-0-0 Canto inferior esquerdo Sem deslocamentos |
![]() rb-0-0 Canto inferior direito Sem deslocamentos |
![]() ht-0-0 Superior horizontal Sem deslocamentos |
![]() hb-20-0 Parte central inferior horizontal -20 horizontal 0 vertical |
![]() hb%2b20-0 Parte central inferior horizontal +20 horizontal 0 vertical |
![]() hb-0%2b10 Parte central inferior horizontal 0 horizontal +10 vertical |
![]() hb-0-20 Parte central inferior horizontal 0 horizontal -20 vertical |
Variação de cor (cm_color
)
Você pode variar a cor de um marcador de gráfico contextual de acordo com o ponto que ele representa. Você precisa especificar um intervalo de cores, e o valor dos dados será dimensionado para uma cor correspondente dentro desse intervalo.
Sintaxe
chem=y;s=cm_color;ds=<series_rendering_index>; ...other_values... ; d=<icon_shape>,<color_data_series>,<low_color>,<middle_color>,<high_color>,<icon_size>,<outline_color>,<alignment>
- <icon_shape>
- O ícone a ser usado. Especifique uma string de ID que identifica uma das imagens listadas no final da página.
- <color_data_series>
- O índice da série de dados, começando com zero, que era usado para variar a cor dos ícones.
- <low_color>
- O valor de cor baixo no intervalo, como uma cor hexadecimal HTML de três ou seis dígitos (sem sinal #). Ela está associada ao menor valor possível no intervalo de dados disponível.
- middle_color
- O valor da cor do meio no intervalo, como uma cor hexadecimal HTML de três ou seis dígitos (sem sinal #). Está associado ao valor médio no intervalo de dados disponíveis.
- <high_color>
- O alto valor de cor no intervalo, como uma cor hexadecimal HTML de três ou seis dígitos (sem sinal #). Ela é associada ao valor mais alto possível no intervalo de dados disponível.
- <icon_size>
- O tamanho do ícone, em pixels. Os seguintes valores são aceitos: 12, 16, 24.
- <outline_color>
- A cor de contorno do ícone, como uma cor hexadecimal HTML de três ou seis dígitos (sem sinal #).
- <alignment>
- Uma string opcional que descreve o alinhamento e o deslocamento do ícone.
Exemplo
|
![]() chem=y;s=cm_color; |
Variação de tamanho (cm_size
)
Você pode variar o tamanho sozinho de um marcador de gráfico contextual, de acordo com a série de dados de sua escolha.
Sintaxe
chem=y;s=cm_size;ds=<series_rendering_index>; ...other_values... ; d=<icon_type>,<size_data_series>,<zero_value_size>,<size_multiplier>,<min_size>,<outline_color>,<fill_color>,<alignment>
- <icon_type>
- A forma do ícone. Escolha um dos seguintes valores:
maps_pin
,disk
ousquare
. - <size_data_series>
- O índice da série de dados, começando com zero, que era usado para variar o tamanho dos ícones.
- <zero_value_size>
- O tamanho base do ícone, no valor mínimo de dados da série.
- <size_multiplier>
- Um fator de escalonamento de tamanho. Esse valor é multiplicado pela diferença entre o valor de dados de cada ícone e o valor mínimo da série para calcular o tamanho final do ícone. Portanto, um ícone com o valor de dados 0 não será afetado por esse multiplicador.
- <min_size>
- O tamanho mínimo de qualquer ícone, em pixels.
- <outline_color>
- A cor de contorno do ícone, como uma cor hexadecimal HTML de três ou seis dígitos (sem sinal #).
- <fill_color>
- A cor de preenchimento do ícone, como uma cor hexadecimal HTML de três ou seis dígitos (sem marca #).
- <alignment>
- Uma string opcional que descreve o alinhamento e o deslocamento do ícone.
Exemplos
Um exemplo básico. O ícone com valor zero é renderizado no tamanho do valor zero, que é de 30 pixels. Os tamanhos aumentam com os dados. | ![]() chd=t:0,10,20,30,40,50,60,70 |
Neste exemplo, os ícones usam os dados de tamanho da linha amarela, mas são renderizados na linha azul.
|
![]() chem=chem=y;s=cm_size;ds=1;dp=all;d=maps_pin,0,10,90,10,8F8,000,hb |
Variação de cor e tamanho (cm_color_size
)
Você pode variar a cor e o tamanho de um marcador do gráfico contextual, de acordo com a série de dados de sua escolha.
Sintaxe
chem=y;s=cm_color_size;ds=<series_rendering_index>; ...other_values... ; d=<icon_type>,<color_data_series>,<low_color>,<middle_color>,<high_color>,<size_data_series>,<zero_value_size>,<size_multiplier>,<min_size>,<outline_color>,<alignment>
- <icon_type>
- A forma do ícone. Escolha um dos seguintes valores:
maps_pin
,disk
ousquare
. - <color_data_series>
- O índice da série de dados, começando com zero, que era usado para variar a cor dos ícones.
- <low_color>
- O valor de cor baixo no intervalo, como uma cor hexadecimal HTML de três ou seis dígitos (sem sinal #). Ela está associada ao menor valor possível no intervalo de dados disponível.
- middle_color
- O valor da cor do meio no intervalo, como uma cor hexadecimal HTML de três ou seis dígitos (sem sinal #). Está associado ao valor médio no intervalo de dados disponíveis.
- <high_color>
- O alto valor de cor no intervalo, como uma cor hexadecimal HTML de três ou seis dígitos (sem sinal #). Ela é associada ao valor mais alto possível no intervalo de dados disponível.
- <size_data_series>
- O índice da série de dados, começando com zero, que era usado para variar o tamanho dos ícones.
- <zero_value_size>
- O tamanho base do ícone, no valor mínimo de dados da série.
- <size_multiplier>
- Um fator de escalonamento de tamanho. Esse valor é multiplicado pela diferença entre o valor de dados de cada ícone e o valor mínimo da série para calcular o tamanho final do ícone. Portanto, um ícone com o valor de dados 0 não será afetado por esse multiplicador.
- <min_size>
- O tamanho mínimo de qualquer ícone, em pixels.
- <outline_color>
- A cor de contorno do ícone, como uma cor hexadecimal HTML de três ou seis dígitos (sem sinal #).
- <alignment>
- Uma string opcional que descreve o alinhamento e o deslocamento do ícone.
Exemplos
Este exemplo usa duas linhas. Os alfinetes usam dados de cores da série em que são renderizados, mas usam dados de tamanho da outra série.
|
![]() chd=s:0akAZtnkmi,nbMPJOKXXS |
Variação de empilhamento (cm_repeat
)
Você pode variar a altura de uma pilha de ícones de acordo com o valor dos dados em um ponto específico.
Sintaxe
chem=y;s=cm_repeat;ds=<series_rendering_index>; ...other_values... ; d=<icon_shape>,<repeat_series_index>,<scaling_factor>,<stacking_direction>,<icon_size>,<fill_color>,<outline_color>,<spacing>,<alignment>
- <icon_shape>
- O ícone a ser usado. Especifique uma string de ID que identifica uma das imagens listadas no final da página.
- <repeat_series_index>
- O índice da série de dados baseado em zero usado para calcular quantos ícones colocar neste ponto.
- <scaling_factor>
- O valor da série de dados de origem é dimensionado para um valor de 0 a 1 e multiplicado por esse valor para determinar quantos marcadores colocar nesse ponto. Valores parciais são truncados.
- <stacking_direction>
- Direção de empilhamento: "h" (minúsculo) para horizontal ou "V" (maiúscula) para vertical.
- <icon_size>
- O tamanho de cada marcador, em pixels. Os valores a seguir são suportados: 12, 16, 24.
- <fill_color>
- A cor de preenchimento do ícone, como uma cor hexadecimal HTML de três ou seis dígitos (sem marca #).
- <outline_color>
- A cor de contorno do ícone, como uma cor hexadecimal HTML de três ou seis dígitos (sem sinal #).
- <spacing>
- Espaço a ser colocado entre cada marcador em uma pilha, em pixels.
- <alignment>
- Uma string opcional que descreve o alinhamento e o deslocamento do ícone.
Exemplo
Este exemplo usa uma segunda série de dados fictícia. Ele não é renderizado no gráfico, mas é usado para espaçar todas as pilhas de maneira uniforme, começando na parte inferior do gráfico.
|
![]() chd=s1:0akAZtnkmi,AAAAAAAAAA
|
Empilhamento e variação de cores (cm_repeat_color
)
Você pode variar a altura e a cor de uma pilha de ícones, de acordo com o valor dos dados em um ponto específico.
Sintaxe
chem=y;s=cm_repeat_color;ds=<series_rendering_index>; ...other_values... ; d=<icon_shape>,<repeat_series_index>,<scaling_factor>,<stacking_direction>,<icon_size>,<color_data_series>,<low_color>,<middle_color>,<high_color>,<outline_color>,<spacing>,<alignment>
- <icon_shape>
- O ícone a ser usado. Especifique uma string de ID que identifica uma das imagens listadas no final da página.
- <repeat_series_index>
- O índice da série de dados baseado em zero usado para calcular quantos ícones colocar neste ponto.
- <scaling_factor>
- O valor da série de dados de origem é dimensionado para um valor de 0 a 1 e multiplicado por esse valor para determinar quantos marcadores colocar nesse ponto. Valores parciais são truncados.
- <stacking_direction>
- Direção de empilhamento: "h" (minúsculo) para horizontal ou "V" (maiúscula) para vertical.
- <icon_size>
- O tamanho de cada marcador, em pixels. Os valores a seguir são suportados: 12, 16, 24.
- <color_data_series>
- O índice da série de dados, começando com zero, que era usado para variar a cor dos ícones.
- <low_color>
- O valor de cor baixo no intervalo, como uma cor hexadecimal HTML de três ou seis dígitos (sem sinal #). Ela está associada ao menor valor possível no intervalo de dados disponível.
- middle_color
- O valor da cor do meio no intervalo, como uma cor hexadecimal HTML de três ou seis dígitos (sem sinal #). Está associado ao valor médio no intervalo de dados disponíveis.
- <high_color>
- O alto valor de cor no intervalo, como uma cor hexadecimal HTML de três ou seis dígitos (sem sinal #). Ela é associada ao valor mais alto possível no intervalo de dados disponível.
- <outline_color>
- A cor de contorno do ícone, como uma cor hexadecimal HTML de três ou seis dígitos (sem sinal #).
- <spacing>
- Espaço a ser colocado entre cada marcador em uma pilha, em pixels.
- <alignment>
- Uma string opcional que descreve o alinhamento e o deslocamento do ícone.
Exemplo
|
![]() chem= |