javascript - chart.js 中条形图中的交替条未标记

标签 javascript php html chart.js

我在chart.js中做了一个双柱状图,代码如下:

$(document).ready(function () {
    $.ajax({
        url : "http://studyleagueit.com/prashant/data.php",
        method : "GET",
        success : function (data) {
            console.log(data);
            var player = [];
            var des = [];
            var score = [];
            var score1 = [];

            for (var i in data) {
                player.push(data[i].playerid + " " + data[i].des);
                score.push(data[i].score);
                score1.push(data[i].score1);

            }

            var densitydata = {
                label : 'Player Score',
                backgroundColor : 'rgba(200, 200, 200, 0.75)',
                borderColor : 'rgba(200, 200, 200, 0.75)',
                hoverBackgroundColor : 'rgba(200, 200, 200, 1)',
                hoverBorderColor : 'rgba(200, 200, 200, 1)',
                data : score
            }

            var gravitydata = {
                label : 'Player Score',
                backgroundColor : 'rgba(200, 200, 200, 0.75)',
                borderColor : 'rgba(200, 200, 200, 0.75)',
                hoverBackgroundColor : 'rgba(200, 200, 200, 1)',
                hoverBorderColor : 'rgba(200, 200, 200, 1)',
                data : score1
            }

            var chartdata = {
                labels : player,
                datasets : [densitydata, gravitydata]
            };

            var ctx = $("#mycanvas");

            var barGraph = new Chart(ctx, {
                    type : 'bar',
                    data : chartdata
                });
        },
        error : function (data) {
            console.log(data);
        }
    });
});

我用 data[i].playerid+""+data[i].des 标记每个条。

但我认为因为它很长,只有交替的条被标记。

有什么方法可以正确标记所有图形?

谢谢你的建议

最佳答案

您正在引用不存在的数据对象的属性 des 并将其与字符串连接。因此,如果您删除 + data[i].des,您的标签应该会恢复正常。您的代码中还有其他小问题,例如var des = []; 从未使用过。

我已经简化了您的代码并直接添加了通过 ajax 获取的数据:

data = [{
  "playerid": "Thane ",
  "score": "10",
  "score1": "15"
}, {
  "playerid": "Dombivli ",
  "score": "20",
  "score1": "25"
}, {
  "playerid": "Byculla",
  "score": "25",
  "score1": "5"
}, {
  "playerid": "CST",
  "score": "20",
  "score1": "2"
}, {
  "playerid": "mumbai cen",
  "score": "25",
  "score1": "4"
}]
var player = [], score = [], score1 = [];

for (var i in data) {
  player.push(data[i].playerid); // data[i].des doesn't exist
  score.push(data[i].score);
  score1.push(data[i].score1);
}

var densitydata = {
  label: 'Player Score',
  backgroundColor: 'rgba(200, 200, 200, 0.75)',
  borderColor: 'rgba(200, 200, 200, 0.75)',
  hoverBackgroundColor: 'rgba(200, 200, 200, 1)',
  hoverBorderColor: 'rgba(200, 200, 200, 1)',
  data: score
}

var gravitydata = {
  label: 'Player Score',
  backgroundColor: 'rgba(230, 230, 230, 0.75)',
  borderColor: 'rgba(200, 200, 200, 0.75)',
  hoverBackgroundColor: 'rgba(200, 200, 200, 1)',
  hoverBorderColor: 'rgba(200, 200, 200, 1)',
  data: score1
}

var chartdata = {
  labels: player,
  datasets: [densitydata, gravitydata]
};

var ctx = $("#mycanvas");
var barGraph = new Chart(ctx, {
  type: 'bar',
  data: chartdata
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.min.js"></script>
<canvas id="mycanvas" width="100" height="100"></canvas>

关于javascript - chart.js 中条形图中的交替条未标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49504697/

相关文章:

javascript - 使用 document.getElementById 时页面重新加载

javascript - 我可以在 javascript 的消息框中加入链接吗?

javascript - 使用 setTimeout 刷新页面后,显示页面刷新前显示的选项卡

php - 如果一行中有多个id存储,则连接多个表

html - 图像未与 Bootstrap 行的中心对齐

html - 如何覆盖表nowrap属性

javascript - 我怎么知道给定的 XULElement 是否有焦点

php - 如何计算与给定序列 (A) 具有给定相关性的随机值序列 (B)

php - 使用 mysqli 类在 PHP 中返回 MySQL 查询

javascript - 代码不会自动提交