Search code examples
javascriptnode.jsgaugeanychart

how to make real time gauge chart using anychart?


I use node.js and javascript for creating a program.

I want to create a real time gauge using anychart, but the anychart gauge chart doesn't change although the data is coming from socket.io.

I want to access the anychart gauge chart object and change the data that was received from the socket.

How can I solve this problem?

anychartObj = new RealTimeAnyChart(elementId);
chartArrayList.push(anychartObj);

function RealTimeAnyChart(elemntId){

        this.dataSet = anychart.data.set([15]);
        this.gauge = anychart.gauges.circular();
        this.gauge.data(this.dataSet);
        this.gauge.container(elementId);
        this.gauge.draw();
}

socket.on(' ',function(){
    chartArrayList.gauge = value ?? this part is problem..
}

Solution

  • You can create new dataSet and apply it to you circular gauge like this:

    socket.on(' ',function(){
    var newData = anychart.data.set([20]);
    chartArrayList.gauge.data(newData);
    }
    

    If you have an access to the existing dataSet object you can apply new data right to the old dataSet and do not create a new one. You can achieve that like this:

    dataSet.data([20]);