2017-12-24 6 views
1

Ich machte ein Google-Balkendiagramm mit JSON-Daten. Aber ich verstehe nicht, was das "c" und "v" tun.Erklären des JSON-Formats in Google-Karten

Wäre sehr glücklich, wenn mir jemand kurz erklären könnte, was sie sind und warum ich sie benutzen muss.

<?php 
//Balkendiagramm 
$query_barchart = "SELECT COUNT(CASE WHEN name_Gleitzeitrahmen = 'Ja' THEN 1 END) as Ja,COUNT(CASE WHEN name_Gleitzeitrahmen = 'Nein' THEN 1 END)as Nein,quarter(datum) as quartal FROM landrat_dashboard GROUP BY quartal"; 
$result_barchart = mysqli_query($con,$query_barchart); 

$rows_barchart = array(); 
$table_barchart = array(); 
$table_barchart['cols'] = array(

// Hier werden die Namen für die Spalten festgelegt 
// Eine Spalte muss vom Typ String sein, sie repräsentiert den Spalten Titel, 
// die anderen sind vom Typ number, da google-chart Zahlen braucht, um Prozentangaben oder andere Formate untereinander zu vergleichen 
array('label' => 'Quartal', 'type' => 'string'), 
array('label' => 'Anzahl Ja', 'type' => 'number'), 
array('label' => 'Anzahl Nein', 'type' => 'number') 
); 

$rows_barchart = array(); 
while($r = mysqli_fetch_assoc($result_barchart)) { 
    $temp = array(); 
    // Folgende Zeile wird benötigt, um das Diagramm in Teilstücke aufzuteilen. Quasi die erste Zeile einer Tabelle 
    $temp[] = array('v' => (string) $r['quartal']); 

    // Hier werden Werte für jedes Teistück vergeben. Quasi die Zeilen einer Tabelle 
    $temp[] = array('v' => (int) $r['Ja']); 
    $temp[] = array('v' => (int) $r['Nein']); 
    $rows_barchart[] = array('c' => $temp); 
} 

$table_barchart['rows'] = $rows_barchart; 
$jsonTable_barchart = json_encode($table_barchart);// Das Array wird in JSON Format umgewandelt, welches vom google-chart akzeptiert wird. 
//echo $jsonTable_barchart; 
?> 

Antwort

1

Handy = c

Wert = v (sowohl für die Zellwert verwendet und den Wert value)

Sie Ihre Daten auf 2 Arten erstellen können, die API-Methoden oder aufbauend auf einer literalen Zeichenfolge (json) wie du es tust. Das letztere erfordert die Objekteigenschaften c und v, weil Sie sie anders bestellen könnten und es würde immer noch funktionieren.

Aus dem Handbuch: https://developers.google.com/chart/interactive/docs/reference#DataTable

ein JSON-Objekt Beispiel.

var dt = new google.visualization.DataTable({ 
    cols: [{id: 'task', label: 'Task', type: 'string'}, 
      {id: 'hours', label: 'Hours per Day', type: 'number'}], 
    rows: [{c:[{v: 'Work'}, {v: 11}]}, 
      {c:[{v: 'Eat'}, {v: 2}]}, 
      {c:[{v: 'Commute'}, {v: 2}]}, 
      {c:[{v: 'Watch TV'}, {v:2}]}, 
      {c:[{v: 'Sleep'}, {v:7, f:'7.000'}]}] 
    }, 0.6); 

Verwendung der API-Methoden.

var data = new google.visualization.DataTable(); 
data.addColumn('string', 'Task'); 
data.addColumn('number', 'Hours per Day'); 
data.addRows([ 
    ['Work', 11], 
    ['Eat', 2], 
    ['Commute', 2], 
    ['Watch TV', 2], 
    ['Sleep', {v:7, f:'7.000'}] 
]); 

Spalten und Zellen

cols Beispiel

cols: [{id: 'A', label: 'NEW A', type: 'string'}, 
     {id: 'B', label: 'B-label', type: 'number'}, 
     {id: 'C', label: 'C-label', type: 'date'}] 

rows Property

Die Reihen Eigenschaft enthält eine Anordnung von Zeilenobjekte.

Jedes Zeilenobjekt verfügt über eine erforderliche Eigenschaft namens c, bei der es sich um ein Array von Zellen in dieser Zeile handelt. Darüber hinaus verfügt es über eine optionale -Eigenschaft, die eine Zuordnung beliebiger benutzerdefinierter Werte zur gesamten Zeile definiert. Wenn Ihre Visualisierung alle Eigenschaften auf Zeilenebene unterstützt, werden diese beschrieben. Andernfalls wird diese Eigenschaft ignoriert.

Zellobjekte

Jede Zelle in der Tabelle durch ein Objekt mit den folgenden Eigenschaften beschrieben:

v [Optional] Der Wert Zelle. Der Datentyp sollte dem Spaltendatentyp entsprechen. Wenn die Zelle null ist, sollte die v -Eigenschaft null sein, obwohl sie weiterhin Eigenschaften f und p haben kann.

Alle können in der Dokument-Verknüpfung oben gefunden werden.

Verwandte Themen