Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Dúvida] Erro: reading 'arrayToDataTable' na tabela de colunas

Estava tudo normal, mas após criar o gráfico colunaSurpresa, começou a dar esse problema, apaguei, mas não estou conseguindo corrigir o erro:

var tabela = google.visualization.arrayToDataTable([
  ["Mês", "Entrada", "Saída"],
  ["jan", 2500, 1000],
  ["fev", 1000, 500],
  ["mar", 3000, 1300],
  ["abr", 1500, 1700],
  ["mai", 5000, 2250],
  ["jun", 3567, 3000],
  ["jul", 3452, 1468],
  ["ago", 1833, 5250],
  ["set", 1800, 1000],
  ["out", 1800, 1000],
  ["nov", 3569, 1500],
  ["dez", 3000, 1740],
]);

var opcoes = {
  title: "Entradas e saídas da conta",
  width: 800,
  height: 400,
  vAxis: {
    gridlines: { color: "transparent" },
    format: "currency",
    title: "Valores",
  },
  hAxis: { title: "Mês" },
};

var grafico = new google.visualization.ColumnChart(
  document.getElementById("graficoColuna")
);
grafico.draw(tabela, opcoes);

google.charts.setOnLoadCallback(desenharGraficos);

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

3 respostas
solução!

Olá Regina! Tudo ok contigo?!

Pelo código que você compartilhou, parece que você está usando a biblioteca Google Charts para criar um gráfico de colunas. O erro "reading 'arrayToDataTable'" geralmente ocorre quando a função arrayToDataTable não é encontrada.

Uma possível solução para esse problema é verificar se você está importando corretamente a biblioteca Google Charts no seu projeto. Certifique-se de que você incluiu o seguinte código no seu arquivo HTML, antes de chamar a função arrayToDataTable:

<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>

Além disso, verifique se você está chamando a função google.charts.setOnLoadCallback corretamente. Essa função é usada para carregar a biblioteca Google Charts antes de executar o código que cria o gráfico. Certifique-se de que você está chamando essa função antes de chamar a função draw do gráfico.

Aqui está um exemplo de como você pode fazer isso:

google.charts.load('current', { packages: ['corechart'] });
google.charts.setOnLoadCallback(desenharGraficos);

function desenharGraficos() {
  // Seu código para criar o gráfico aqui
}

Certifique-se de substituir desenharGraficos pelo nome da função que contém o código para criar o gráfico.

Espero que isso ajude a resolver o problema! Se você tiver mais alguma dúvida, é só me dizer.

Espero ter ajudado e bons estudos!

Reply: Primeiramente, vamos garantir que a biblioteca do Google Charts esteja sendo carregada corretamente. Certifique-se de que você tenha incluído o seguinte trecho de código no cabeçalho da sua página HTML, antes de qualquer outro código relacionado ao Google Charts:
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>

Isso permitirá que você utilize todas as funções e recursos do Google Charts, incluindo a função arrayToDataTable.

Em relação ao seu código, parece que você está utilizando a função google.visualization.arrayToDataTable para criar uma tabela de dados para o gráfico de colunas. A estrutura dessa tabela está correta, onde cada linha representa um mês e suas respectivas entradas e saídas.

Aqui estão alguns passos que você pode seguir para solucionar o problema:

  1. Verifique a Ordem de Carregamento: Certifique-se de que o código que utiliza as funções do Google Charts seja executado somente após a biblioteca ter sido completamente carregada. Você pode fazer isso utilizando o método google.charts.setOnLoadCallback() para envolver o código do gráfico. É importante que esse método seja chamado após a inclusão da biblioteca e antes da criação do gráfico.

    google.charts.setOnLoadCallback(function() {
      // Seu código de criação do gráfico aqui
    });
    
  2. Confira Erros de Digitação e Caminhos: Verifique se você digitou corretamente todas as partes do código, incluindo nomes de variáveis, métodos e propriedades. Além disso, verifique se o caminho para o arquivo da biblioteca do Google Charts está correto.

  3. Verifique o HTML: Verifique se você tem um elemento HTML com o id "graficoColuna" no seu documento HTML. Esse elemento é onde o gráfico será renderizado. Certifique-se de que esse id corresponda ao id utilizado no seu código JavaScript.

  4. Limpe o Cache: Às vezes, problemas de cache podem causar comportamentos inesperados. Tente limpar o cache do seu navegador ou utilize uma janela anônima para testar o seu código.

  5. Considere Erros de Rede: Em alguns casos, erros de rede podem impedir o carregamento correto da biblioteca do Google Charts. Certifique-se de que você está conectado à internet e não há bloqueios de firewall ou restrições de rede que possam afetar o carregamento de recursos externos.

Aqui está um exemplo de como você poderia reorganizar o seu código considerando esses passos:

<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
  google.charts.load('current', { packages: ['corechart'] });

  google.charts.setOnLoadCallback(function() {
    var tabela = google.visualization.arrayToDataTable([
      // Sua matriz de dados aqui
    ]);

    var opcoes = {
      // Suas opções de gráfico aqui
    };

    var grafico = new google.visualization.ColumnChart(
      document.getElementById("graficoColuna")
    );

    grafico.draw(tabela, opcoes);
  });
</script>

Deu certo! Sem querer eu deletei "}" que fechava a função! Obrigada!

Oi Regina, fico feliz que pude auxiliar-lhe a encontrar o erro.

Caso precise conte com o fórum para lhe ajudar em problemas futuros.

Abraços e até.