2017-09-07 7 views
0

dataPoints: [{x:50、y:280}、{x:60、y:507}]を追加すると、このようなコードがあります。Canvasjsライブラリ、dataPoints

[{x:50、y:280}、{x:60、y:507}]のコードは変数rssにあり、機能しません。

<script type="text/javascript"> 
     window.onload = function() { 

     var year = ('<?php echo $rs; ?>'); 

     var jsontoarray = JSON.parse(year); 

     var props = Object.keys(jsontoarray); 
     var rss = "["; 
     for (var i = 0; i < props.length; i++) { 
      rss += "{ x: " + props[i] + ", y: " + jsontoarray[props[i]] + "},"; 
     } 

     rss = rss.substr(0, rss.length - 1); //bỏ dấu , cuối cùng 
     rss += "]"; 

      var chart = new CanvasJS.Chart("chartContainer", { 
      title: { 
       text: "Column Chart with Index Label and Data Point Width" 
      }, 
      axisX: { 
       interval: 10 
      }, 
      dataPointWidth: 60, 
      data: [{ 
       type: "column", 
       indexLabelLineThickness: 2, 
       dataPoints: rss 
      }] 
      }); 
     chart.render(); 
     } 
    </script> 

    <div id="chartContainer" style="height: 400px; width: 95%; margin: auto;"></div> 
+0

x/yの値が文字列でないことを確認してください。文字列の場合は数値に変換してください。 – Sanjoy

+0

また、rssのコードを変換すると、rssがStringになります。理想的には、dataPointsは、数値(または数値の配列)y値で構成されるオブジェクトの配列を受け入れます。 dataPoints:[{"y":number}] – Sanjoy

答えて

1

rssは配列ではなく文字列として認識されるため、機能しません。

var rss = []; 
for (var i = 0; i < props.length; i++) { 
    rss.push({ 
     x: props[i], 
     y: jsontoarray[props[i]] 
    }); 
} 
関連する問題