highcharts ajax后台数据,Highcharts实时数据,json ajax

本文档描述了在使用Highcharts创建图表时遇到的问题,涉及到从livedata.php和live.php两个源获取JSON数据来更新图表。livedata.php返回一串日期和湿度数据,而live.php只返回最近一行数据。尽管图表能够添加点,但x轴并未正确显示日期。问题可能在于数据处理或Highcharts配置。解决方案可能涉及调整数据格式或检查图表的x轴设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

livedata.php在页面打开时加载json。 live.php添加点到图。

从livedata.php我得到这样的输出:

[["Date.UTC(2016, 07-1, 28, 15, 08)",37],["Date.UTC(2016, 07-1, 28, 15, 08)",37],["Date.UTC(2016, 07-1, 28, 15, 08)",37],["Date.UTC(2016, 07-1, 28, 15, 08)",37],["Date.UTC(2016, 07-1, 28, 15, 08)",37],["Date.UTC(2016, 07-1, 28, 15, 08)",37]]

live.php输出 - 只有最后一排,看起来像

["Date.UTC('.2016, 07-1, 29, 15, 40.')", 44]

我有图表,活addPoint工作,但在x轴上没有日期。我做错了什么?

JS

var chart;

function requestData() {

$.ajax({

url: 'live.php',

success: function(point) {

var series = chart.series[0],

shift = series.data.length > 120; // shift if the series is

chart.series[0].addPoint(eval(point));

setTimeout(requestData, 10000);

},

cache: false

});

}

$(function() {

$.ajax({

url: 'livedata.php',

success: function(point) {

chart = new Highcharts.Chart({

chart: {

renderTo: 'container',

type: 'areaspline',

events: {

load: requestData

}

},

title: {

text: 'Revenue vs. Overhead',

},

subtitle: {

text: '',

},

xAxis: {

type: 'datetime'

},

yAxis: {

title: {

text: 'Amount'

},

plotLines: [{

value: 0,

width: 1,

color: '#808080'

}]

},

series: [{

name: 'Random data',

data: eval(point)

}]

});

},

});

});

live.php

global $dbConnection;

$stmt = $dbConnection->query('SELECT DATE_FORMAT(data,"%Y-%m-%d %H:%i") as dataa, humidity FROM sensorsdata order by id desc limit 1');

$row = $stmt->fetch(PDO::FETCH_ASSOC);

$date_raw = strftime('%Y, %m-1, %d, %H, %M', strtotime($row[dataa]));

$date_complete = "Date.UTC('.$date_raw.')";

$ar = array($date_complete, $row[humidity]);

echo json_encode($ar, JSON_NUMERIC_CHECK);

livedata.php

global $dbConnection;

$stmt = $dbConnection->query('SELECT DATE_FORMAT(data,"%Y-%m-%d %H:%i") as dataa, humidity FROM sensorsdata');

$result = $stmt->fetchAll();

foreach ($result as $row) {

$date_raw = strftime('%Y, %m-1, %d, %H, %M', strtotime($row[dataa]));

$date_complete = 'Date.UTC('.$date_raw.')';

$hum_for_chart[] = [$date_complete, $row[humidity]];

}

echo json_encode($hum_for_chart, JSON_NUMERIC_CHECK);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值