2013-12-07 20 views
0

我有代码图表:谷歌图表 - 只有1组数据所示

function drawChart() { 

     var data = new google.visualization.DataTable(); 
     data.addColumn('number', 'Intensidade'); 
     data.addColumn('number', 'Afundamento %'); 
     data.addColumn('number', 'Elevação %'); 
     var fool =[<?php echo $jsRows_intensidade_eleva; ?>]; 
     data.addRows(fool); 
     var foo = [<?php echo $jsRows_intensidade;?>]; 
     data.addRows(foo); 




    var options = { 
     title: '', 
     hAxis: {title: 'Intensidade (p.u.)', minValue: 0, maxValue: 2}, 
     vAxis: {title: 'Prob. de ocorrência em %', minValue: 0, maxValue: 100} 

    }; 

    var chart = new google.visualization.ColumnChart(document.getElementById('chart_div_intensidade_NRS-048')); 
    chart.draw(data, options); 
    } 
    google.load("visualization", "1", {packages:["corechart"], callback: drawChart}); 

在该阵列被写为:

//$jsRows[] = "['Duração','Afundamento']"; 
for($i=0;$i<count($datay_afunda_intensidade);$i++){ 
$jsRows_intensidade[] = "[{$datax_afunda_intensidade[$i]},{$datay_afunda_intensidade[$i]},null]"; 
} 

//$jsRows_eleva[] ="['Duração','Elevação']"; 
for($i=0;$i<count($datay_eleva_intensidade);$i++){ 
$jsRows_intensidade_eleva[] = "[{$datax_eleva_intensidade[$i]},null,{$datay_eleva_intensidade[$i]}]"; 
} 


$jsRows_intensidade = implode(",",$jsRows_intensidade); 
$jsRows_intensidade_eleva = implode(",",$jsRows_intensidade_eleva); 

,但它示出了仅仅是组行列在'Afundamento%'栏中,它忽略了第二个。有没有人在这段代码中看到错误?它在一段时间以前工作。提前致谢。

EDIT

jsRows_intensidade = [0.53,12.5,空],[0.59,25,空],[0.54,12.5,空],[0.55,12.5,空],[1,12.5,空],[0.36,12.5,空],[0.01,12.5,空]

js_Rows_intensidade_eleva = [1.5,NULL,50],[1,空,50]

+0

你可以发表一些什么正在输出的例子'echo $ jsRows_intensidade_eleva;'和'echo $ jsRows_intensidade;'? – asgallant

+0

@asgallant,请参阅编辑。 – GustavoxD

回答

1

这很可能的情况下图表太窄而无法显示数据。 API测量任意两个数据点之间的最小距离,并将其指定为数据单位中的最大条形组宽度(在您的情况下为0.01)。域轴的长度(ColumnCharts的x轴)除以该值以获得可以绘制的总条组的数量,并且单个条组的像素宽度通过将图表的宽度区域(绘制条形图的部分)除最大条形图组的数量。在每个小组组中,API保留用于填充小组的间隔(默认情况下为大约33%),然后为第一系列数据开始为小节保留空间(即使给定轴上没有数据,小节也会保留空间值)。如果条形图组空间不足,则剩余的条形宽度为0,这是第二个系列的情况。

有几个方法可以解决这个问题:

  1. 您可以增加图表的宽度,或使用chartArea.width选项来增加图表区域的宽度。
  2. 如果您的图表足够宽,则可以通过将bar.groupWidth选项设置为比其默认值(〜)更大的值,增加为条形分配的组宽度的百分比,为条形图组提供一点额外空间来绘制条形图67%,最大100%)(例如:http://jsfiddle.net/asgallant/umVHX/)。
  3. 您可以使用ChartRangeFilter来允许用户平移和缩放图表(例如:http://jsfiddle.net/asgallant/umVHX/1/)。
+0

就是这样! :)再次感谢非常好的答案和例子。我有选择2。 – GustavoxD