Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我想在Nodepad中运行此代码++_Javascript_Html_Canvasjs - Fatal编程技术网

Javascript 我想在Nodepad中运行此代码++

Javascript 我想在Nodepad中运行此代码++,javascript,html,canvasjs,Javascript,Html,Canvasjs,这个代码的问题在哪里?为什么它没有运行?我想运行这个代码来显示实时json数据可以通过的图形 我该怎么做?有几个问题 您正在window.onload函数的范围内声明变量;如果希望它们是全局的,则必须在函数外部声明它们 您尚未关闭window.onload函数 <!DOCTYPE HTML> <html> <head> <script> window.onload = function () { var

这个代码的问题在哪里?为什么它没有运行?我想运行这个代码来显示实时json数据可以通过的图形

我该怎么做?

有几个问题

您正在window.onload函数的范围内声明变量;如果希望它们是全局的,则必须在函数外部声明它们

您尚未关闭window.onload函数

<!DOCTYPE HTML>
    <html>
    <head>
    <script>

    window.onload = function () {

    var dps1 = [], dps2 = [], dps3 = [];

    var chart = new CanvasJS.Chart("chartContainer",{
      title:{
        text: "TIME vs. Movement category"
      },
      axisX:{
        title: "TIME SLOT"
      },
      axisY:{
        title: "% of Movement Category"
      },
      data: [
        {
          type: "stackedArea100",
          name: "Standstill/Tilting",
          showInLegend: "true",
          yValueFormatString: "#,##0.##\"%\"",
          dataPoints: dps1
        },
        {
          type: "stackedArea100",
          name: "On Foot",
          showInLegend: "true",
          yValueFormatString: "#,##0.##\"%\"",
          dataPoints: dps2
        },
        {
          type: "stackedArea100",
          name: "On Vehicle",
          showInLegend: "true",
          yValueFormatString: "#,##0.##\"%\"",
          dataPoints: dps3
        }
      ]
    });

    getData();
    chart.render();

    function getData(chart) {

      $.when($.getJSON("https://api.myjson.com/bins/cxvmo", function(data) {

        for(var i = 0; i < data.length; i++) {
          dps1.push({
            label: data[i].label,
            y: data[i].y1
        });
          dps2.push({
            label: data[i].label,
            y: data[i].y2
        });
          dps3.push({
            label: data[i].label,
            y: data[i].y3
        });
        }
      })).done(function(){
        chart.render();
      });
    }

    setInterval(function(){
      getData();
      chart.render();
    }, 100000);
    </script>
    </head>
    <body>
    <br/>
    <div id="chartContainer" style="height: 600px; width: 100%;"></div>
    <script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
    </body>
    </html>

你有无与伦比的括号。使用hit F12并读取所有错误。使用诸如立即查找代码问题之类的工具。@Xufox您能修复错误吗?谢谢您的帮助@nathan stockton:
<html>
<head><script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<script>

var dps1 = dps2 = dps3 = [];
var chart;
window.onload = function () {
 chart = new CanvasJS.Chart("chartContainer",{
  title:{
    text: "TIME vs. Movement category"
  },
  axisX:{
    title: "TIME SLOT"
  },
  axisY:{
    title: "% of Movement Category"
  },
  data: [
    {
      type: "stackedArea100",
      name: "Standstill/Tilting",
      showInLegend: "true",
      yValueFormatString: "#,##0.##\"%\"",
      dataPoints: dps1
    },
    {
      type: "stackedArea100",
      name: "On Foot",
      showInLegend: "true",
      yValueFormatString: "#,##0.##\"%\"",
      dataPoints: dps2
    },
    {
      type: "stackedArea100",
      name: "On Vehicle",
      showInLegend: "true",
      yValueFormatString: "#,##0.##\"%\"",
      dataPoints: dps3
    }
  ]
});

getData();
chart.render();
}

function getData(chart) {

  $.when($.getJSON("https://api.myjson.com/bins/cxvmo", function(data) {

    for(var i = 0; i < data.length; i++) {
      dps1.push({
        label: data[i].label,
        y: data[i].y1
    });
      dps2.push({
        label: data[i].label,
        y: data[i].y2
    });
      dps3.push({
        label: data[i].label,
        y: data[i].y3
    });
    }
  })).done(function(){
    chart.render();
  });
}

setInterval(function(){
  getData();
  chart.render();
}, 100);
</script>
</head>
<body>
<br/>
<div id="chartContainer" style="height: 600px; width: 100%;"></div>
<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
</body>
</html>