Esta página mostra como carregar as bibliotecas do Google Chart.
Carregamento da biblioteca básica
Com poucas exceções, todas as páginas da Web com gráficos do Google precisam incluir
as seguintes linhas no <head>
da página da Web:
<script src="https://www.gstatic.com/charts/loader.js"></script> <script> google.charts.load('current', {packages: ['corechart']}); google.charts.setOnLoadCallback(drawChart); ... </script>
A primeira linha desse exemplo carrega o próprio carregador.
Só é possível carregar o carregador uma vez, não importa quantos gráficos você planeja desenhar.
Depois de carregar o loader, você pode chamar a função google.charts.load
uma
ou mais vezes para carregar pacotes de tipos de gráfico específicos.
O primeiro argumento de google.charts.load
é o nome ou número da versão,
como uma string. Se você especificar 'current'
, a versão oficial mais recente do Google Charts será carregada. Se você quiser testar o candidato para a próxima
versão, use 'upcoming'
. Em geral, haverá
poucas diferenças entre os dois, e eles serão completamente
idênticos, exceto quando uma nova versão estiver em andamento. Um motivo comum para
usar upcoming
é quando você quer testar um novo tipo de gráfico ou
recurso que o Google está prestes a lançar nos próximos meses. Vamos
anunciar os próximos lançamentos no
nosso fórum
e recomendamos que você os teste quando forem anunciados para garantir que
qualquer mudança nas suas tabelas seja aceitável.
O exemplo acima pressupõe que você quer exibir um corechart
(barra, coluna, linha, área, área em degraus, balão, pizza, rosquinha, combinação, candlestick, histograma, dispersão). Se você quiser outro tipo de gráfico, substitua ou adicione o nome de pacote adequado de corechart
acima (por exemplo, {packages: ['corechart',
'table', 'sankey']}
. O nome do pacote pode ser encontrado na seção "Carregando" da página de documentação de cada gráfico.
Neste exemplo, também presumimos que você tenha uma função JavaScript
chamada drawChart
definida em algum lugar da página da Web. Você pode nomear essa função como quiser, mas ela precisa ser globalmente exclusiva e estar definida antes de ser referenciada na chamada para google.charts.setOnLoadCallback
.
Observação:as versões anteriores do Google Charts usavam um código diferente do acima para carregar as bibliotecas. Para atualizar os gráficos atuais para usar o novo código, consulte Atualizar o código do carregador de biblioteca.
Confira um exemplo completo de como desenhar um gráfico de pizza usando a técnica de carregamento básica:
<head> <script src="https://www.gstatic.com/charts/loader.js"></script> <script> google.charts.load('current', {packages: ['corechart']}); google.charts.setOnLoadCallback(drawChart); function drawChart() { // Define the chart to be drawn. var data = new google.visualization.DataTable(); data.addColumn('string', 'Element'); data.addColumn('number', 'Percentage'); data.addRows([ ['Nitrogen', 0.78], ['Oxygen', 0.21], ['Other', 0.01] ]); // Instantiate and draw the chart. var chart = new google.visualization.PieChart(document.getElementById('myPieChart')); chart.draw(data, null); } </script> </head> <body> <!-- Identify where the chart should be drawn. --> <div id="myPieChart"/> </body>
Detalhes do carregamento
Primeiro, você precisa carregar o carregador,
o que é feito em uma tag script
separada com
src="https://www.gstatic.com/charts/loader.js"
. Essa tag pode estar no
head
ou body
do documento ou pode ser inserida dinamicamente
no documento enquanto ele está sendo carregado ou após a conclusão do carregamento.
<script src="https://www.gstatic.com/charts/loader.js"></script>
Depois que o carregador for carregado, você estará livre para chamar google.charts.load
.
O local da chamada pode ser em uma tag script
no head
ou
body
do documento. Você pode fazer a chamada enquanto o documento
ainda está sendo carregado ou a qualquer momento após o término do carregamento.
A partir da versão 45, você pode chamar google.charts.load
mais de uma
vez para carregar pacotes adicionais, embora seja mais seguro se puder evitar isso.
Você precisa fornecer o mesmo número de versão e configurações de idioma todas as vezes.
Agora você pode usar o parâmetro de URL autoload
da JSAPI, mas o valor desse parâmetro precisa usar formatação JSON rigorosa e codificação de URL. No JavaScript, é possível codificar
jsonObject
com este código:
encodeURIComponent(JSON.stringify(jsonObject))
.
Limitações
Se você estiver usando versões anteriores à v45, há algumas limitações menores, mas importantes, na forma como você carrega os gráficos do Google:
- Só é possível chamar
google.charts.load
uma vez. No entanto, é possível listar todos os pacotes necessários em uma chamada, para que não seja necessário fazer chamadas separadas. - Se você estiver usando um ChartWrapper, será necessário carregar explicitamente todos os pacotes necessários, em vez de depender do ChartWrapper para fazer o carregamento automaticamente.
- Para Geochart e
Map Chart, é necessário carregar o
antigo e o novo carregador de biblioteca. Novamente, isso é somente para versões
anteriores à v45. Não faça isso para versões mais recentes.
<script src="https://www.gstatic.com/charts/loader.js"></script> <script src="https://www.google.com/jsapi"></script>
Carregar nome ou número da versão
O primeiro argumento da chamada google.charts.load
é o nome ou número da versão.
No momento, há apenas dois nomes de versões especiais e várias versões congeladas.
- atual
- Isso é para a versão oficial mais recente, que muda sempre que lançamos uma nova versão. Essa versão é idealmente bem testada e sem bugs, mas você pode especificar uma versão congelada específica depois de ter certeza de que ela está funcionando.
- em breve
- Isso é para a próxima versão, enquanto ela ainda está sendo testada e antes de se tornar a versão oficial atual. Teste essa versão regularmente para saber o mais rápido possível se há algum problema que precisa ser resolvido antes que ela se torne a versão oficial.
Quando lançamos novas versões do Google Charts, algumas das mudanças são grandes, como tipos de gráficos totalmente novos. Outras mudanças são pequenas, como melhorias na aparência ou no comportamento de gráficos existentes.
Muitos criadores de gráficos do Google ajustam a aparência dos gráficos até que fiquem exatamente iguais. Alguns criadores podem se sentir mais confortáveis sabendo que as tabelas deles nunca vão mudar, independente das melhorias que fizermos no futuro. Para esses usuários, oferecemos suporte a gráficos do Google congelados.
As versões congeladas dos gráficos são identificadas por número e descritas nos nossos lançamentos oficiais.
Para carregar uma versão congelada, substitua current
ou upcoming
na chamada de google.charts.load
pelo número da versão
congelada:
<script src="https://www.gstatic.com/charts/loader.js"></script> <script> google.charts.load('43', {packages: ['corechart']}); google.charts.setOnLoadCallback(drawChart); ... </script>
Esperamos que as versões congeladas permaneçam disponíveis indefinidamente, mas podemos desativar as versões congeladas por questões de segurança. Geralmente, não oferecemos suporte a versões congeladas, exceto para sugerir que você faça upgrade para uma versão mais recente.
Carregar configurações
O segundo parâmetro na chamada de google.charts.load
é um objeto para especificar configurações. As propriedades a seguir são compatíveis com as configurações.
- pacotes
- Uma matriz de zero ou mais pacotes. Cada pacote carregado terá o código necessário para oferecer suporte a um conjunto de funcionalidades, normalmente um tipo de gráfico. Os pacotes que você precisa carregar estão listados na documentação de cada tipo de gráfico. É possível evitar a especificação de pacotes se você usar um ChartWrapper para carregar automaticamente o que será necessário.
- language
- O código do idioma ou localidade que precisa ser usado para personalizar o texto que pode fazer parte do gráfico. Consulte Localidades para mais detalhes.
- callback
- Uma função que será chamada quando os pacotes forem carregados. Como alternativa,
você pode especificar essa função chamando
google.charts.setOnLoadCallback
, conforme demonstrado no exemplo acima. Consulte Callback para mais detalhes.google.charts.load('current', { packages: [ 'corechart'], callback: drawChart });
- mapsApiKey
- (v45) Essa configuração permite especificar uma chave que pode ser usada com o Mapa e o Mapa.
É recomendável fazer isso em vez de usar o comportamento padrão, que pode resultar em
redução ocasional do serviço para os usuários.
Saiba como configurar sua própria chave para usar o serviço da API Google Maps JavaScript:
Receber uma chave/autenticação. O código vai ficar assim:
var myMapsApiKey = 'SomeMagicToSetThis'; google.charts.load('45', { packages: [ 'geochart'], mapsApiKey: myMapsApiKey });
- safeMode
- (v47)
Quando definido como "true", todos os gráficos e dicas de ferramentas que geram HTML a partir de
dados fornecidos pelo usuário vão higienizar os dados, removendo elementos e atributos não seguros.
Como alternativa (v49+), a biblioteca pode ser carregada no modo seguro usando um atalho que
aceita as mesmas configurações de carregamento, mas sempre carrega a versão "atual":
google.charts.safeLoad({ packages: ['corechart'] });
Localidades
As localidades são usadas para personalizar textos em um país ou idioma, afetando a formatação de valores como moedas, datas e números.
Por padrão, o Google Charts é carregado com a localidade "en". É possível substituir esse padrão especificando explicitamente uma localidade nas configurações de carregamento.
Para carregar um gráfico formatado para uma localidade específica, use
a configuração language
da seguinte maneira:
// Load Google Charts for the Japanese locale. google.charts.load('current', {'packages':['corechart'], 'language': 'ja'});
Siga este link para conferir um exemplo em tempo real.
Chamada de retorno
Antes de usar qualquer um dos pacotes carregados por google.charts.load
, você precisa
aguardar a conclusão do carregamento. Não basta esperar o carregamento do documento
ser concluído. Como pode levar algum tempo até que o carregamento seja concluído, é necessário
registrar uma função de callback. Há três maneiras de fazer isso. Especifique uma configuração callback
na chamada google.charts.load
ou chame setOnLoadCallback
transmitindo uma função como argumento ou use a promessa retornada pela chamada de google.charts.load
.
Para todas essas maneiras, é necessário fornecer uma definição de função, em vez de chamar a função. A definição de função que você fornece pode ser uma função nomeada (basta informar o nome dela) ou uma função anônima. Quando o carregamento dos pacotes terminar, essa função de callback será chamada sem argumentos. O loader também vai esperar o carregamento do documento ser concluído antes de chamar o callback.
Se quiser desenhar mais de um gráfico, você pode registrar mais de uma função de callback usando setOnLoadCallback
ou combiná-las em uma função.
Saiba mais sobre como
Desenhar vários gráficos em uma página.
google.charts.setOnLoadCallback(drawChart1); google.charts.setOnLoadCallback(drawChart2); // OR google.charts.setOnLoadCallback( function() { // Anonymous function that calls drawChart1 and drawChart2 drawChart1(); drawChart2(); });
Chamada de retorno via promessa
Outra maneira de registrar seu callback é usar a promessa retornada da
chamada google.charts.load
. Para isso, adicione uma chamada ao método then()
com um código semelhante ao seguinte.
google.charts.load('upcoming', {packages: ['corechart']}).then(drawChart);
Uma vantagem de usar a promessa é que você pode desenhar facilmente mais gráficos encadeando mais chamadas .then(anotherFunction)
.
O uso da promessa também vincula o callback aos pacotes específicos necessários para
esse callback, o que é importante se você quiser carregar mais pacotes com outra chamada de
google.charts.load()
.
Atualizar o código do carregador de biblioteca
As versões anteriores do Google Charts usavam um código diferente para carregar as bibliotecas. A tabela abaixo mostra o código antigo do carregador de biblioteca em comparação com o novo.
Código antigo do carregador de biblioteca |
---|
<script type="text/javascript" src="https://www.google.com/jsapi"></script> <script type="text/javascript"> google.load("visualization", "1", {packages:["corechart"]}); google.setOnLoadCallback(drawChart); </script> |
Novo código do carregador de biblioteca |
<script src="https://www.gstatic.com/charts/loader.js"></script> <script> google.charts.load('current', {packages: ['corechart']}); google.charts.setOnLoadCallback(drawChart); </script> |
Para atualizar os gráficos existentes, substitua o código antigo do carregador da biblioteca pelo novo. No entanto, lembre-se das limitações de carregamento de bibliotecas descritas acima.