Javascript 谷歌图表中的实时图表
我不知道在StackOverflow中是否已经有太多的要求,但我只是太累了,对自己的能力感到失望。我做这个图表已经三个月了,但没有成功。不管怎样,我再次尝试谷歌图表,我正在寻求帮助 我有一个json格式的livedata.php(时间戳(名为ts)、ph、meat是我数据库中的数据值),显示:Javascript 谷歌图表中的实时图表,javascript,json,charts,google-visualization,Javascript,Json,Charts,Google Visualization,我不知道在StackOverflow中是否已经有太多的要求,但我只是太累了,对自己的能力感到失望。我做这个图表已经三个月了,但没有成功。不管怎样,我再次尝试谷歌图表,我正在寻求帮助 我有一个json格式的livedata.php(时间戳(名为ts)、ph、meat是我数据库中的数据值),显示: [{"ts":"12","ph":736,"moist":92},{"ts":"27","ph":0,"moist":0},{"ts":"21","ph":192,"moist":24},{"ts":"1
[{"ts":"12","ph":736,"moist":92},{"ts":"27","ph":0,"moist":0},{"ts":"21","ph":192,"moist":24},{"ts":"15","ph":0,"moist":0}]
也就是说“ts”(时间戳('d'))显示了一个月中的一个特定日期(本例中的月份是8月)。“ph”和“湿度”是特定日期的总体值。
显然,我在这里制作图表,我知道我是一个充满雄心壮志的哑巴,我正在尝试创建一个活生生的图表,看起来像这样
现在我的问题是,我发现下面的代码适用于他们的示例,但尝试使用PHP JSON失败
function drawChart() {
var jsonData = $.ajax({
url: 'livedata.php',
dataType: 'json',
async: false
})
.done(function (results) {
var data = new google.visualization.DataTable(jsonData);
data.addColumn('datetime', 'time_stamp');
data.addColumn('number', 'ph');
data.addColumn('number', 'moist');
$.each(results, function (i, row) {
data.addRow([
(new Date(row.time_stamp)),
parseFloat(row.ph),
parseFloat(row.moist)]);
});
var chart = new google.visualization.LineChart($('#chart').get(0));
chart.draw(data, {
title: 'Soil Analysis'
});
});
}
// load chart lib
google.load('visualization', '1', {
packages: ['corechart']
});
// call drawChart once google charts is loaded
google.setOnLoadCallback(drawChart);
这里有几个问题,我会尽力帮助 首先,使用当前版本的谷歌图表 使用此-->
jsapi
是一个旧版本
不是这个-->
这只会更改load
语句
google.charts.load('current', {
callback: drawChart,
packages: ['corechart']
});
至于ajax
async:false
已被弃用,请将其删除
接下来,数据表的构造函数只接受特定格式的json数据
在这里找到--> 把论点留白就行了
var data = new google.visualization.DataTable();
最后,发布的json示例不包含time\u stamp
看起来像是ts
,您可以尝试改用当前月份
推荐类似以下内容的内容
google.charts.load('current', {
callback: drawChart,
packages: ['corechart']
});
function drawChart() {
$.ajax({
url: 'livedata.php',
dataType: 'json'
}).done(function (results) {
var data = new google.visualization.DataTable();
data.addColumn('date', 'time_stamp');
data.addColumn('number', 'ph');
data.addColumn('number', 'moist');
$.each(results, function (i, row) {
var today = new Date();
data.addRow([
new Date(today.getFullYear(), today.getMonth(), row.ts),
parseFloat(row.ph),
parseFloat(row.moist)
]);
});
var chart = new google.visualization.LineChart($('#chart').get(0));
chart.draw(data, {
title: 'Soil Analysis'
});
});
}
? :) 我想问一下,如果不使用var today=date(),如何从数据库中获取准确的月份和日期。因为date()显示当前日期