2013-07-12 3 views
0

Я создаю линейную диаграмму, используя диаграмму Google. У меня эти коды ниже от googling. Как вы добавляете свойства для стиля линии (пунктирная линия) к этим строкам кода?Пунктирная линия google chart json

$sth = mysql_query("SELECT * FROM table"); 

$rows = array(); 
//flag is not needed 
$flag = true; 
$table = array(); 
$table['cols'] = array(

    array('label' => 'Month', 'type' => 'string'), 
    array('label' => 'a', 'type' => 'number'), 
    array('label' => 'b', 'type' => 'number'), 
    array('label' => 'c', 'type' => 'number'), 
    array('label' => 'd', 'type' => 'number') 

); 

$rows = array(); 
while($r = mysql_fetch_assoc($sth)) { 
    $temp = array(); 

    $temp[] = array('v' => (string) $r['Month']); 

    // Values of each slice 
    $temp[] = array('v' => $r['a']); 

    // Values of each slice 
    $temp[] = array('v' => $r['b']); 

    // Values of each slice 
    $temp[] = array('v' => $r['c']); 

    // Values of each slice 
    $temp[] = array('v' => $r['d']); 
    $rows[] = array('c' => $temp); 

} 

$table['rows'] = $rows; 
$jsonTable = json_encode($table); 
//echo $jsonTable; 

ответ

0

Пунктирные линии могут быть достигнуты с использованием certainty role. В зависимости от того, как вы хотите, чтобы ваши строки разбились, вам просто нужно добавить соответствующий столбец «истина/ложь» со значением для каждой точки, причем роль столбца назначена как «определенность», как в приведенном ниже примере.

google.load('visualization', '1.1', {'packages':['corechart']}); 
    google.setOnLoadCallback(drawChart_C7); 

    function drawChart_C7() { 
    var data = new google.visualization.DataTable(); 
    data.addColumn('string', 'Year'); 
    data.addColumn('number', 'Sales'); 
    data.addColumn({type: 'boolean', role: 'certainty'}); 
    data.addColumn('number', 'Expenses'); 
    data.addColumn({type: 'boolean', role: 'certainty'}); 
    data.addRows([ 
     ['2004', 1000, false, 400, true], 
     ['2005', 1170, true, 460, true], 
     ['2006', 660, true, 1120, false], 
     ['2007', 1030, true, 540, false] 
    ]); 

    var chart = new google.visualization.LineChart(document.getElementById('chart_C7')); 
    chart.draw(data, {width: 400, height: 240, legend:'top'}); 
    } 
0

Большое спасибо! Я поместил свой код php внутри вашего кода, и он работает правильно.

google.load("visualization", "1", {packages:["corechart"]}); 
    google.setOnLoadCallback(drawChart); 
    function drawChart() { 
    var data = new google.visualization.DataTable(); 
    data.addColumn('string', 'Month'); 
    data.addColumn('number', 'a'); 
    data.addColumn('number', 'b'); 
    data.addColumn({type: 'boolean', role: 'certainty'}); 
    data.addRows([ 

     <?php 
     $sql="SELECT * FROM table"; 
     $result=mysql_query($sql); 

     while($row=mysql_fetch_array($result)){ 

     $id= $row['id']; 
     $month=$row['Month']; 
     $a=$row['a']; 
     $b=$row['b']; 
     if ($a=="NULL"){$a = "";} 
     if ($b=="NULL"){$b = "";} 
     echo "['" . $month . "'," . $a . "," . $b . "," . "false" . "]"; 
     echo ","; 

     } 
     ?> 
    ]); 

    var options = { 
     title: 'Company Performance' 
    }; 

    var chart = new google.visualization.LineChart(document.getElementById('chart_div')); 
    chart.draw(data, options); 
    } 
Смежные вопросы