2013-12-07 2 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 %'열에 제시된 것처럼 두 번째 것은 무시합니다. 누구든지이 코드에서 오류가 표시됩니까? 그것은 조금 전부터 일하고있었습니다. 미리 감사드립니다. [0.54,12.5 널] 0.59,25 널] = [0.53,12.5 널]

EDIT

jsRows_intensidade, [널 0.55,12.5] [1,12.5, 널] [0.36,12.5 널] [0.01,12.5 널]

js_Rows_intensidade_eleva = 1.5, NULL, 50], [1, NULL, 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