I have to add a chart on a website I am developing which updates on real-time when it receives values from Ubidots…
I used the following guide: http://help.ubidots.com/developer-guides/html-canvas-widget-examples to add a chart using HighCharts but nothing was displayed. I added the following line
<div id="container1" style="min-width: 310px; height: 310px; margin: 0 auto"></div>
to my HTML file and created a chart.js file and added the js codes from the guide into it(I replaced ‘YOUR TOKEN’ by my token and ‘YOUR VARIABLE’ by my variable).
var TOKEN = 'YOUR TOKEN';
var VARIABLE = 'YOUR VARIABLE';
function getDataFromVariable(variable, token, callback) {
  var url = 'https://things.ubidots.com/api/v1.6/variables/' + variable + '/values';
  var headers = {
    'X-Auth-Token': token,
    'Content-Type': 'application/json'
  };
  $.ajax({
    url: url,
    method: 'GET',
    headers: headers,
    success: function (res) {
      callback(res.results);
    }
  });
 }
var chart = Highcharts.chart('container', {
    chart: {
        type: 'line'
    },
    title: {
        text: 'Bring data from Ubidots'
    },
    xAxis: {
        type: 'datetime',
    },
    credits: {
        enabled: false
    },
    series: [{
	    data: []
    }]
});
getDataFromVariable(VARIABLE, TOKEN, function (values) {
  var data = values.map(function (value) {
        return [value.timestamp, value.value];
     });
  chart.series[0].setData(data);
});
I also added the following in the head of the html document:
<script src="https://code.highcharts.com/highcharts.js"></script>
<script type="text/javascript" src="chart.js"></script>
I would like to know the right approach of adding the real-time graph and if possible the codes of how to do it. I came across this also which uses Socket.io for a real-time widget: http://help.ubidots.com/developer-guides/html-canvas-creating-a-real-time-widget?utm_content=article_1373212&utm_engine=smart-search-hybrid&utm_experiment=educate-hybrid-suggestions-experiment
But I don’t really know how to integrate HighCharts with Socket.io as the chart itself isn’t appearing.
