Google チャートを使用して、毎日のビルド完了時間をプロットしています (x 軸: ビルドの日付を文字列として、y 軸: ビルド完了時間を数値として); データは PHP スクリプトを使用して mySQL データベースから取得され、JSON にエンコードされます。
ビルドの完了時間を数値 (10 進数形式) としてプロットしたので、ツールチップをカスタマイズして、ビューアーがその上にカーソルを置いたときに、書式設定された時間 (およびいくつかの文字列情報) (午前 12:34 など) が表示されるようにします。プロットされた小数 (12.5 など) とは対照的です。
クライアント側から直接行データを渡す場合は、以下のコードでツールチップ列を作成できることを知っています。
dataTable.addColumn({type: 'string', role: 'tooltip'});
...しかし、以下のようにphpスクリプトからJSONをエンコードしている場合、ツールチップ列の正しいJSON形式を取得する方法がわかりません:
$table['cols'] = array
(
array('label' => 'Day', 'type' => 'string'),
array('label' => 'Arrival Time', 'type' => 'number'),
array('label' => 'Expected Time', 'type' => 'number'),
);
while($row = mysql_fetch_array($result))
{
// some data parsing
$temp = array();
$temp[] = array('v' => $row['current_formatted']);
//$temp[] = array('v' => $time_units_splited[0]);
$temp[] = array('v' => $time_in_decimal);
$temp[] = array('v' => $time_expected_in_decimal);
$rows[] = array('c' => $temp);
}
$table['rows'] = $rows;
echo json_encode($table);
より具体的には、PHP で列配列を設定する方法がわかりません。それは確かにそうではありません:
array('label' => 'tooltip', 'type' => 'source'), ...
JSONは現時点では以下のとおりです。
{"cols":[{"label":"Day","type":"string"},{"label":"Arrival Time","type":"number"},{"label":"Expected Time","type":"number"}],"rows":[{"c":[{"v":"22\/08\/13"},{"v":"1.19"},{"v":"1.00"}]},{"c":[{"v":"26\/08\/13"},{"v":"3.01"},{"v":"1.00"}]},{"c":[{"v":"27\/08\/13"},{"v":"2.30"},{"v":"1.00"}]},{"c":[{"v":"28\/08\/13"},{"v":"2.37"},{"v":"1.00"}]},{"c":[{"v":"29\/08\/13"},{"v":"2.36"},{"v":"1.00"}]},{"c":[{"v":"30\/08\/13"},{"v":"2.40"},{"v":"1.00"}]},{"c":[{"v":"03\/09\/13"},{"v":"2.25"},{"v":"1.00"}]},{"c":[{"v":"04\/09\/13"},{"v":"2.33"},{"v":"1.00"}]},{"c":[{"v":"05\/09\/13"},{"v":"3.06"},{"v":"1.00"}]},{"c":[{"v":"06\/09\/13"},{"v":"3.29"},{"v":"1.00"}]},{"c":[{"v":"09\/09\/13"},{"v":"3.34"},{"v":"1.00"}]},{"c":[{"v":"10\/09\/13"},{"v":"3.41"},{"v":"1.00"}]},{"c":[{"v":"11\/09\/13"},{"v":"3.34"},{"v":"1.00"}]},{"c":[{"v":"12\/09\/13"},{"v":"3.33"},{"v":"1.00"}]}]}
どんな助けでも大歓迎です、ありがとう!