2012-05-10 8 views
0

時間の経過とともに私の市で市議会議員の図表を作りたいと思います。私はこれを線図のようなものとして想像しています。 x軸は年です。 9つの市議会議席があるので、9つの直線があり、それぞれが時間の経過とともに市議会議員であったかどうかを示します(おそらく、異なる色の線分を介して、または名前をonMouseOverで表示することによって)。多分これはタイムラインのようなものです。すべてのデータ型文字列の折れ線グラフ?タイムライン?

市の予算をグラフ化すると、年と都市の両方の予算がタイプ「番号」であるため、この古典的な折れ線グラフはうまくいきます。

この新しいグラフでは、すべてのデータ型「文字列」を人々の名前で渡しています.Google Charts APIは次のようなエラーを出しています:「軸#0のデータ列はタイプできません文字列 "

このグラフを作成するにはどうすればよいですか? (私は予算の余剰や赤字や盗難のような数値データをグラフ化したいが、当時担当していた[別のチャート]と関連させるだけでなく)

答えて

0

PHPで私はmySQLデータベースを照会し、時間の経過とともに水平線を作成するためにGoogle Chart APIが受け取る必要がある形式のJSONオブジェクト:

$conn = mysql_connect("x","y","z"); 
mysql_select_db("a",$conn); 

$sql = "SELECT year,d_mayor,d_council1,d_council2,d_council3 
FROM metrics WHERE year 
IN ('1998','1999','2000','2001','2002','2003','2004','2005','2006','2007','2008','2009','2010','2011','2012')"; 

$sth = mysql_query($sql, $conn) or die(mysql_error()); 

//start the json data in the format Google Chart js/API expects to receive it change 
$JSONdata = "{ 
       \"cols\": [ 
       {\"label\":\"Year\",\"type\":\"string\"}, 
        {\"label\":\"City Council 1\",\"type\":\"number\"}, 
        {\"label\":\"City Council 2\",\"type\":\"number\"}, 
        {\"label\":\"City Council 3\",\"type\":\"number\"}, 
        {\"label\":\"Mayor\",\"type\":\"number\"} 
        ], 
       \"rows\": ["; 

//loop through the db query result set and put into the chart cell values (note last ojbect in array has "," behind it but its working) 
while($r = mysql_fetch_assoc($sth)) { 
    $JSONdata .= "{\"c\":[{\"v\": " . $r['year'] . "}, {\"v\": 1, \"f\": \"" . $r['d_council1'] . "\"}, {\"v\": 2, \"f\": \"" . $r['d_council2'] . "\"}, {\"v\": 3, \"f\": \"" . $r['d_council3'] . "\"}, {\"v\": 10, \"f\": \"" . $r['d_mayor'] . "\"},]},"; 
}  

//end the json data/object literal with the correct syntax 
$JSONdata .= "]}"; 

echo $JSONdata; 

mysql_close($conn); 
関連する問題