
【D3.js】Googleスプレッドシートに入力したデータを可視化する
概要
Google Visualization APIには、Googleスプレッドシートを簡易DBとして外部から呼び出して使うことのできる機能が備わってます。
Google Visualization API Reference
参考
Google Visualization API 詳細、および Gadgets-in-Docs の作り方
このAPIを使ってGoogleスプレッドシートのデータをD3.jsで可視化してみました。
サンプル
ポイント
スプレッドシートからデータを読み出している部分は以下。
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29  | 
						google.load("visualization", "1"); google.setOnLoadCallback(init); function init() { 	var query = new google.visualization.Query("https://docs.google.com/spreadsheet/ccc?key=0ArOQLX5U1kUqdFYxUzcwTDB0UUVnZHBKRnRzbUc3aGc"); 	query.setQuery("select *  where B > 3000000  "); //SQLに似た構文でフィルタをかけることができる。 	query.send(handleQueryResponse); } function handleQueryResponse(response) { 	// データ取得 	var data = response.getDataTable(); 	//DataTableオブジェクトを二次元に変換 	var DataArray = new Array(data.getNumberOfRows()); 	for (var row = 0; row < data.getNumberOfRows(); row++) { 		 DataArray[row] = new Array(data.getNumberOfColumns()); 		for (var col = 0, n = data.getNumberOfColumns(); col < n; col++) { 			if(col > 0){ 				DataArray[row][col] = Math.floor(data.getFormattedValue(row, col) / 10000); //万人単位に変換 			}else{ 				DataArray[row][col] = data.getFormattedValue(row, col); 			} 		}     	} 	//変換した配列をD3.jsに渡す 	rendering(DataArray); }  | 
					
