0

我在一个学校项目中工作,我正在从一个 php 文件中获取数据以显示在仪表中。我使用此 javascript 代码每秒更新图表:

    function requestData() {
    $.getJSON('values.php', function(data) {
            var new_value = data;
            var point = $('#ta').highcharts().series[0].points[0];
            point.update(new_value);
            setTimeout(requestData, 500)
            }

)
}

使用此代码,我可以更新图表,问题是,我也需要在图表的另一部分显示数值。这是我尝试的:

  yAxis: {
        title: {
            text: '<div id="tav">'+new_value+'V</div>',
            useHTML: true,
            y: 80
        }

当我输入“new_value”时,图表停止工作,我什么也看不到。如果从图表的这一部分离开“new_value”,它就可以完美地工作。

有人能帮我吗?谢谢

4

3 回答 3

0

问题是new_value本地定义的。您可以将变量定义为对象的属性:

var obj = {};
function requestData() {
$.getJSON('values.php', function(data) {
        obj.new_value = data;
        var point = $('#ta').highcharts().series[0].points[0];
        point.update(new_value);
        setTimeout(requestData, 500)
        }

)
}

yAxis: {
    title: {
        text: '<div id="tav">'+obj.new_value+'V</div>',
        useHTML: true,
        y: 80
    }
于 2014-07-01T21:00:26.207 回答
0

要更新 y 轴标题,您必须使用如下代码:

$('#container').highcharts().yAxis[0].update({
            title:{
                text:"My text"
            }
        });

我创建了一个关于如何在单击按钮时动态更新 y 轴标题的演示:DEMO

JS 代码部分可在单击按钮时动态更新图表标题:

var chart = $('#container').highcharts();
$('#my_btn').click(function(){
    //alert('hey');
    chart.yAxis[0].update({
        title:{
            text:"My text"
        }
    });
    alert('Y-axis title changed to "My text" !');
});
于 2014-07-02T07:56:59.117 回答
0

使用 IndeedAxis.setTitle()方法,请参见:

 function requestData() {
     $.getJSON('values.php', function (data) {
         var new_value = data;
         var chart = $('#ta').highcharts()
         var point = chart.series[0].points[0];
         var yAxis = chart.yAxis[0];

         yAxis.setTitle({text: new_value });
         point.update(new_value);
         setTimeout(requestData, 500);
     })
 }
于 2014-07-02T10:11:32.820 回答