javascript - Canvasjs 库、数据点

标签 javascript canvasjs

如果我添加数据点,我有这样的代码: [{ x: 50, y: 280 },{ x: 60, y: 507 }] 有效。

但是在下面的代码中,[{ 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>

最佳答案

它不起作用,因为 rss 被视为字符串,而不是数组。 您需要执行以下操作:

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

关于javascript - Canvasjs 库、数据点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46093491/

相关文章:

javascript - 选择数据集时触发更改 [Amcharts Multiple Data Sets chart]

javascript - 首先按数字中的给定属性对对象数组进行排序,然后是字母(数字具有子排序)

javascript - 为什么不在选项卡中拉伸(stretch)我的 canvasjs 图表

javascript - CanvasJS 图表 axisX 未定义

javascript - CanvasJS 的 jQuery 导入错误

javascript - 如何将日期时间字符串转换为特定的日期时间格式

javascript - jquery-ui-draggable 对齐指南

javascript - Dynamics 2016 本地 Crm 客户端脚本。缺少选项集控件类型的方法

javascript - CanvasJS - 从烛台图中删除了空洞/周末等

javascript - 无论鼠标悬停如何,始终在 CanvasJS 中显示工具提示