user1471980
user1471980

Reputation: 10626

how to get tow series data in highchart guage chart

I am ajax calling a php script that outputs two data points

[epoch data, cpu]

I would like to be able to create highchart guage chart and display cpu utilization and as a data lable, I like to display the time that I get from the php call.

function request_cpu_Data() {
    $.ajax({
        url: 'get_cpu.php', 
        success: function(data) {
        var myObj = JSON.parse(data); 
        var point = cpu_chart.series[0].points[0];
        var point1 = cpu_chart.series[1].points[0];
        var newVal=myObj[1];
        var newVal1=myObj[0];
        point.update(newVal);
        point1.update(newVal1);

        setTimeout(request_cpu_Data, 10000000); 
        },
        cache: false
    });
}

my series options are like this:

series: [{
            name: 'CPU',
            data: [0]

            },{
            name: 'Date',
            data: []
            }
        ]

I am getting this error:

Uncaught TypeError: Cannot call method 'update' of undefined

Is this how you set up the second series?

var point1 = cpu_chart.series[1].points[0];

Upvotes: 0

Views: 232

Answers (1)

Andrey Nelubin
Andrey Nelubin

Reputation: 3294

Your second series contains no data, so your cpu_chart.series[1].points is an empty array. You must use setData if data.lenght === 0, like this:

var secondSeries = chart.series[1];

if (secondSeries.data.length === 0) {
    secondSeries.setData([newValue]);
} else {
    secondSeries.points[0].update(newValue);
}

I hope that will help you.

Upvotes: 1

Related Questions