4

我在一个大学网站项目中工作,我选择使用 Highcharts,它的使用非常简单。但是我在.getjson动态更新时遇到了一些问题。

我用这个http://www.highcharts.com/studies/live-server.htm和这个http://jsfiddle.net/oceog/zpwdp/示例。我还没有取得任何成功。然后我尝试在 API 上自己学习,我得出了这个结论:

function requestData() {
    $.jQuery.getJSON('values.php', data, 
        function(){
            var series = chart.series[0]
            chart.series.update()
            setTimeout(requestData, 1000);  
        }
)}

我将图表上的数据值留空,然后加载requestData到文件中,但它仍然不起作用。有人能帮我吗?对不起我的英语不好。谢谢!

4

2 回答 2

7

参考这个小提琴

var new_value = 160;
var point = $('#container').highcharts().series[0].points[0];       
point.update(new_value);

根据你的情况,应该是这样的:

function requestData() {
    $.jQuery.getJSON('values.php', data, 
        function(){
            var new_value = 160;//the value you wish to update and set to guage
            var point = $('#div_id_of_chart_rendering').highcharts().series[0].points[0];       
            point.update(new_value);  
        }
)}
于 2014-06-13T11:35:37.797 回答
0

返回数据对象时,您需要将该数据放入图表系列中。目前,您没有对数据对象做任何事情。相关的 highcharts API 调用是“setData”(http://api.highcharts.com/highcharts#Series.setData)。

您将需要执行以下操作:

function requestData() {
$.jQuery.getJSON('values.php', data, 
    function(){
        chart.series.setData(data)
        setTimeout(requestData, 1000);  
    }
)}

为此,您的 php 需要返回一个有效的系列数据对象(例如点数组)。

于 2014-06-12T08:00:43.980 回答