NodeJSとSocket.ioを使ってデータベースからデータを取得します。私は今これらのデータを持つGoogleのエリアチャートを記入したいが、私はそれを行うに失敗します。 データはObjects
として送信されます。各Object
には、2つの値(datetimeとvalue)が含まれています。私は配列にこれらの値を追加し、その後DataTable
に保存: `google.visualization.DataTableはconstructor'Socket.ioを使用してGoogleエリアチャートを埋める - 'google.visualization.DataTableはコンストラクタではありません'
google.load('visualization', '1', {
packages: ['corechart']
});
google.setOnLoadCallback(drawChart);
var socket = io();
getData();
function drawChart(dataArray) {
var data = new google.visualization.DataTable();
data.addColumn('string', 'DateTime');
data.addColumn('number', 'Value');
for (var i = 0; i < dataArray.length; i += 2) {
console.log(dataArray[0]);
data.addRow([dataArray[i], dataArray[i + 1]]);
}
var chart = new google.visualization.AreaChart(document.getElementById('chart'));
chart.draw(data, {
title: "Data Visualization",
isStacked: true,
width: '50%',
height: '50%',
vAxis: {
title: 'Data v-Axis'
},
hAxis: {
title: 'Data h-Axis'
}
})
}
function getData() {
socket.emit('GET');
socket.on('serverSent', function (data) {
var processedData = processData(data);
drawChart(processedData);
})
}
function processData(data) {
var arr = new Array();
jQuery.each(data, function (index, object) {
arr.push(object['datetime'], parseInt(object['value']));
})
return arr;
}
私は私のウェブサイトは、私はチャートを参照してくださいが、任意の値と、エラーメッセージなしで呼び出した場合ではありません。だから私は間違って何をしていますか?
'io'が定義されておらず、ファイル' C:\ socket.io \ socket.io.js'が見つからないというエラーが出ます。 'socket.io'は私のディレクトリの' node_modules'フォルダに置かれています。 'npm'はそのモジュールをすべて保存しているからです。 – binaryBigInt
私はそれがここに記述されているように正確なwhayをやっています:http://stackoverflow.com/questions/8689877/cant-find-socket-io-js – binaryBigInt
あなたが_google charts_をすべて削除すると、 'socket.io'のデータですか?その場合は、物事の順序を切り替えてデータを取得し、_google_を読み込むことができます。もしそうでなければ、それは別の質問の話題かもしれない...? – WhiteHat