Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Getulio Rodriguez

Charts do google fica em branco ?

Recommended Posts

Pessoal estou tentando criar um grafico de visitas dinamicamente com o Charts + analytics da Google com o php, mas meu grafico fica em branco estou fritando a mente ja acabei com umas 15 garrafas de café. assim o grafico é o Gráfico de visitas diárias

 

segue trecho do meu codigo. ja estudei o api no site da google mas nada.

 

assim que concluir vou disponibilizar o codigo para uso do povo do forum, que sempre tem me ajudado.

 <script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1", {packages:["corechart"]});

function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Day');
data.addColumn('number', 'Pageviews');
data.addRows([
["Jul 1", 50],["Jul 2", 48],["Jul 3", 28],["Jul 4", 12],["Jul 5", 6],["Jul 6", 4],
["Jul 7", 27],["Jul 8", 4],["Jul 9", ],["Jul 10", ],["Jul 11", ],["Jul 12", ],
["Jul 13", ],["Jul 14", ],["Jul 15", ],["Jul 16", ],["Jul 17", ],["Jul 18", ],
["Jul 19", ],["Jul 20", ],["Jul 21", ],["Jul 22", ],["Jul 23", ],["Jul 24", ],
["Jul 25", ],["Jul 26", ],["Jul 27", ],["Jul 28", ],["Jul 29", ],["Jul 30", ],["Jul 31", ],]);
var chart = new google.visualization.AreaChart(document.getElementById('chart'));
chart.draw(data, {width: 600, height: 200, title: ' - ',
colors:['#058dc7','#e6f4fa'],
areaOpacity: 0.1,
hAxis: {textPosition: 'in', showTextEvery: 5, slantedText: false, textStyle: { color: '#505050', fontSize: 10}},
pointSize: 5,
legend: 'none',
chartArea:{left:0,top:30,width:"100%",height:"100%"}
});
google.setOnLoadCallback(drawChart);


}
</script>
</head>

	<div class="container">
	<div class="blocks">
    
    
			<h1> Gráfico de visitas diárias </h1>
			<br />
			<div id="visualization">
				<h2></h2>
				
			</div>
		</div>
	
		<div class="blocks_down">
			<h1> Gráfico de fonte de Tráfego </h1>
			<br />
			<img src="http://chart.apis.google.com/chart?chf=bg,s,C3D9FF&chxs=0,505050,11.5&chs=300x206&cht=p3&chco=ec561b,50b332,06C891,058dc7,058dc7,e6f4fa&chd=t0:65.12,9.3,25.58&chdl=direct ( 65.12% )|referral ( 9.3% )|organic ( 25.58% )&chma=0,130" width="300" height="206" alt=Unable to generate graph" />		</div>
		<div class="blocks_down">
			<h1> Gráfico de Tipo de Tráfego </h1>
			<br />
			<img src="http://chart.apis.google.com/chart?chf=bg,s,C3D9FF&chxs=0,505050,11.5&chs=300x206&cht=p3&chco=ec561b,50b332&chd=t0:29.07,70.93&chdl=Novas Visitas  (29.07% )|Returno ( 70.93% )&chma=0,130" width="300" height="206" alt=Unable to generate graph" />		</div>
	
	</div>

https://drive.google.com/file/d/0B1GOVcNoxslFX1NCNnFHTFBjQ0U/edit?usp=sharing

Compartilhar este post


Link para o post
Compartilhar em outros sites

o codigo que gera o grafico esta em javascript, o projeto que estou fazendo é em php, a questão é que o codigo era pra esta exibindo o o grafico certo ?

 

esse trexo do codigo:

 

var chart = new google.visualization.AreaChart(document.getElementById('chart')); faz referencia ao local onde ira exibir o grafico.


achei o erro esta nesse trecho, os valores não podem ser nulo ou seja vazio, agora como eu faço pra adicionar o valor zero quando ele encontrar o programa apos a virgula o "vazio" ou fazer o programa ignorar ?

 

["Jul 1", 50],["Jul 2", 48],["Jul 3", 28],["Jul 4", 12],["Jul 5", 6],["Jul 6", 4],["Jul 7", 27],["Jul 8", 4],

["Jul 9", ],["Jul 10", ],["Jul 11", ],["Jul 12", ],

["Jul 13", ],["Jul 14", ],["Jul 15", ],["Jul 16", ],

["Jul 17", ],["Jul 18", ],["Jul 19", ],["Jul 20", ],

["Jul 21", ],["Jul 22", ],["Jul 23", ],["Jul 24", ],

["Jul 25", ],["Jul 26", ],["Jul 27", ],["Jul 28", ],

["Jul 29", ],["Jul 30", ],["Jul 31", ],]);

 

umas vez que esses dados são dinamicos.

 

o seguinte codigo pra gerar os itens acima

var data = new google.visualization.DataTable();
data.addColumn('string', 'Dia');
data.addColumn('number', 'Visualização');
data.addRows([
<?php foreach($perDayCount as $key => $value) {
echo '["'.$key.'", '.$value.'],';
}
?>
]);

Compartilhar este post


Link para o post
Compartilhar em outros sites

consegui fazendo de outra forma por algum motivo esse trecho onde uso

data.addColumn('string', 'Dia');
data.addColumn('number', 'Visualização');

não esta sendo lido corretamente.

 

porem fiz assim e deu certo

var data = google.visualization.arrayToDataTable([
<?php echo '[\''. Dia .'\', \''. Visualização .'\'],' . PHP_EOL ;?>
<?php foreach($perDayCount as $key => $value) {
	 if($value != ''){
     echo '[\''.$key.'\', '.$value.'],' . PHP_EOL ;
	 }
}
?>
]);

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.