Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.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 ta[Object.keys(secondDataSet.\u meta)[0]].data[i].\u模型; var total=firstDataSet.data[i]+secondDataSet.data[i]; if(firstDataSet.data[i]>=secondDataSet.data[i]){ ctx.fillText((firstDataSet.data[i]*100/总计).toFixed(2)+'%',firstModel.x,firstModel.y+30); }否则{ ctx.fillText((secondDataSet.data[i]*100/总计).toFixed(2)+'%',secondModel.x,secondModel.y+30); } } } } } }, 比例:{ 雅克斯:[{ 滴答声:{ 贝吉纳泽罗:是的 }, 是的 }], xAxes:[{ 对,, }] } } });_Javascript_Jquery_Charts_Bar Chart_Chart.js - Fatal编程技术网

Javascript ta[Object.keys(secondDataSet.\u meta)[0]].data[i].\u模型; var total=firstDataSet.data[i]+secondDataSet.data[i]; if(firstDataSet.data[i]>=secondDataSet.data[i]){ ctx.fillText((firstDataSet.data[i]*100/总计).toFixed(2)+'%',firstModel.x,firstModel.y+30); }否则{ ctx.fillText((secondDataSet.data[i]*100/总计).toFixed(2)+'%',secondModel.x,secondModel.y+30); } } } } } }, 比例:{ 雅克斯:[{ 滴答声:{ 贝吉纳泽罗:是的 }, 是的 }], xAxes:[{ 对,, }] } } });

Javascript ta[Object.keys(secondDataSet.\u meta)[0]].data[i].\u模型; var total=firstDataSet.data[i]+secondDataSet.data[i]; if(firstDataSet.data[i]>=secondDataSet.data[i]){ ctx.fillText((firstDataSet.data[i]*100/总计).toFixed(2)+'%',firstModel.x,firstModel.y+30); }否则{ ctx.fillText((secondDataSet.data[i]*100/总计).toFixed(2)+'%',secondModel.x,secondModel.y+30); } } } } } }, 比例:{ 雅克斯:[{ 滴答声:{ 贝吉纳泽罗:是的 }, 是的 }], xAxes:[{ 对,, }] } } });,javascript,jquery,charts,bar-chart,chart.js,Javascript,Jquery,Charts,Bar Chart,Chart.js,要使用chart js实现堆叠条形图,可以使用以下代码。我已经用一些较大的值替换了第二个数据值数组,以说明堆叠的条形图,但它可以很好地处理任何值: var ctx = document.getElementById("myChart"); var myChart = new Chart(ctx, { type: 'bar', data: { labels: ["Bix Produce", "Capitol City", "Charlies Portland", "

要使用chart js实现堆叠条形图,可以使用以下代码。我已经用一些较大的值替换了第二个数据值数组,以说明堆叠的条形图,但它可以很好地处理任何值:

var ctx = document.getElementById("myChart");
var myChart = new Chart(ctx, {
    type: 'bar',
    data: {
        labels: ["Bix Produce", "Capitol City", "Charlies Portland", "Costa Fruit and Produce", "Get Fresh Sales", "Loffredo East", "Loffredo West", "Paragon", "Piazza Produce"],
        datasets: [{
            backgroundColor: 'rgba(97, 188, 109, 0.2)',
            borderColor: 'rgba(97, 188, 109, .8)',
            data: [7000, 5565, 3806, 5925, 5721, 6635, 14080, 9027, 25553]
        }, {
            backgroundColor: 'rgba(236, 107, 86, 0.2)',
            borderColor: 'rgba(236, 107, 86, .8)',
            data: [17724, 2565, 1506, 3625, 3721, 4635, 7080, 4027, 12553]
            //data: [17, 1, 18, 14, 3, 1, 5, 10, 1]
        }]
    },
    options: {
        tooltips: {
            enabled: false
        },
        animation: {
            duration: 0,
            onComplete: function() {
                if (this.data.datasets.length === 2) {
                    var ctx = this.chart.ctx;
                    ctx.font = Chart.helpers.fontString(Chart.defaults.global.defaultFontSize, 'normal', Chart.defaults.global.defaultFontFamily);
                    ctx.fillStyle = this.chart.config.options.defaultFontColor;
                    ctx.textAlign = 'center';
                    ctx.textBaseline = 'bottom';
                    var firstDataSet = this.data.datasets[0];
                    var secondDataSet = this.data.datasets[1];
                    if (firstDataSet.length === secondDataSet.length) {
                        for (var i = 0; i < firstDataSet.data.length; i++) {
                            var firstModel = firstDataSet._meta[Object.keys(firstDataSet._meta)[0]].data[i]._model;
                            var secondModel = secondDataSet._meta[Object.keys(secondDataSet._meta)[0]].data[i]._model;
                            var total = firstDataSet.data[i] + secondDataSet.data[i];
                            if (firstDataSet.data[i] >= secondDataSet.data[i]) {
                                ctx.fillText((firstDataSet.data[i] * 100 / total).toFixed(2) + '%', firstModel.x, firstModel.y + 30);
                            }else{
                                ctx.fillText((secondDataSet.data[i] * 100 / total).toFixed(2) + '%', secondModel.x, secondModel.y + 30);
                            }
                        }
                    }
                }
            }
        },
        scales: {
            yAxes: [{
                ticks: {
                    beginAtZero: true
                },
                stacked: true
            }],
            xAxes: [{
                stacked: true,
            }]
        }
    }
 });
var ctx=document.getElementById(“myChart”);
var myChart=新图表(ctx{
类型:'bar',
数据:{
标签:[“Bix农产品”、“国会城”、“查理波特兰”、“科斯塔水果和农产品”、“获得新鲜销售”、“洛弗雷多东部”、“洛弗雷多西部”、“Paragon”、“广场农产品”],
数据集:[{
背景颜色:“rgba(97188109,0.2)”,
边框颜色:“rgba(97188109.8)”,
数据:[7000、5565、3806、5925、5721、6635、14080、9027、25553]
}, {
背景颜色:“rgba(236107,86,0.2)”,
边框颜色:“rgba(236107,86,8)”,
数据:[177242565150613625372146357080402712553]
//数据:[17,1,18,14,3,1,5,10,1]
}]
},
选项:{
工具提示:{
已启用:false
},
动画:{
持续时间:0,
onComplete:function(){
if(this.data.datasets.length==2){
var ctx=this.chart.ctx;
ctx.font=Chart.helpers.fontString(Chart.defaults.global.defaultFontSize,'normal',Chart.defaults.global.defaultFontFamily);
ctx.fillStyle=this.chart.config.options.defaultFontColor;
ctx.textAlign='中心';
ctx.textb基线='底部';
var firstDataSet=this.data.datasets[0];
var secondDataSet=this.data.datasets[1];
if(firstDataSet.length==secondDataSet.length){
对于(var i=0;i=secondDataSet.data[i]){
ctx.fillText((firstDataSet.data[i]*100/总计).toFixed(2)+'%',firstModel.x,firstModel.y+30);
}否则{
ctx.fillText((secondDataSet.data[i]*100/总计).toFixed(2)+'%',secondModel.x,secondModel.y+30);
}
}
}
}
}
},
比例:{
雅克斯:[{
滴答声:{
贝吉纳泽罗:是的
},
是的
}],
xAxes:[{
对,,
}]
}
}
});

也许这个github问题可以帮助您举例说明如何显示图表。你能为期末考试添加截图吗output@Abhijeet:我不知道它应该是什么样子;它只是将一个矩形数据堆叠在另一个矩形数据(一个“堆叠条形图”)上,并将%值作为标签打印在较大的块中。e、 例如,如果总数是1000,而较大的数据块是900,那么%标签将是“90%”。也许这个github问题可以帮助您举例说明如何显示图表。你能为期末考试添加截图吗output@Abhijeet:我不知道它应该是什么样子;它只是将一个矩形数据堆叠在另一个矩形数据(一个“堆叠条形图”)上,并将%值作为标签打印在较大的块中。e、 例如,如果总数是1000,较大的块是900,那么%标签将是“90%”。我需要CSS来表示“graph_container”还是包含在Chart.JS中?我什么都没有得到(一个空白的div)。请查看我的更新。这应该就是全部。你能看到工作示例吗?我已经用你使用的确切代码制作了一个示例,看起来还可以:这是示例中包含的chart.js。你用的是同样的吗?如果没有,可能需要进行一些更改,以便与您使用的版本兼容。我是否需要“graph_container”的CSS,或者它是否包含在Chart.JS中?我什么都没有得到(一个空白的div)。请查看我的更新。这应该就是全部。你能看到工作示例吗?我已经用你使用的确切代码制作了一个示例,看起来还可以:这是示例中包含的chart.js。你用的是同样的吗?如果没有,可能需要进行一些更改,以便与您使用的版本兼容。
var barChartData = {
    labels: ["Bix Produce", "Capitol City", "Charlies Portland", "Costa Fruit and Produce", "Get Fresh Sales", "Loffredo East", "Loffredo West", "Paragon", "Piazza Produce"],
    datasets: [
        {
            fillColor: "rgba(220,220,220,0.5)",
            strokeColor: "rgba(220,220,220,0.8)",
            highlightFill: "rgba(220,220,220,0.75)",
            highlightStroke: "rgba(220,220,220,1)",
            data: [17724, 5565, 3806, 5925, 5721, 6635, 14080, 9027, 25553]
        },
        {
            fillColor: "rgba(151,187,205,0.5)",
            strokeColor: "rgba(151,187,205,0.8)",
            highlightFill: "rgba(151,187,205,0.75)",
            highlightStroke: "rgba(151,187,205,1)",
            data: [17, 1, 18, 14, 3, 1, 5, 10, 1]
        }
    ]
}

var ctxBarChart = document.getElementById("priceComplianceBarChart").getContext("2d");
var myBarChart = new Chart(ctxBarChart).Bar(barChartData);
<div class="topright">
    <h2 class="sectiontext">Price Compliance</h2>
    <div class="graph_container">
        <canvas id="priceComplianceBarChart" width="400" height="400"></canvas>
    </div>
</div>
.topright {
    margin-top: -4px;
    margin-right: 16px;
    margin-bottom: 16px;
    margin-left: -12px;
    padding: 16px;
    border: 1px solid black;
}

.sectiontext {
    font-size: 1.5em;
    font-weight: bold;
    font-family: Candara, Calibri, Cambria, serif;
    color: green;
    margin-top: -4px;
}
var ctxBarChart = document.getElementById("priceComplianceBarChart").getContext("2d");
var priceBarChart = new Chart(ctxBarChart, {
    type: 'bar',
    data: {
        labels: ["Bix Produce", "Capitol City", "Charlies Portland", "Costa Fruit and Produce", "Get Fresh Sales", "Loffredo East", "Loffredo West", "Paragon", "Piazza Produce"],
        datasets: [{
            label: 'Some Values',
            backgroundColor: 'rgba(97, 188, 109, 0.2)',
            borderColor: 'rgba(97, 188, 109, .8)',
            data: [7000, 5565, 3806, 5925, 5721, 6635, 14080, 9027, 25553]
            //data: [17724, 2565, 1506, 3625, 3721, 4635, 7080, 4027, 12553]
        }, {
            label: 'Other Values',
            backgroundColor: 'rgba(236, 107, 86, 0.2)',
            borderColor: 'rgba(236, 107, 86, .8)',
            data: [17724, 2565, 1506, 3625, 3721, 4635, 7080, 4027, 12553]
            //data: [17, 1, 18, 14, 3, 1, 5, 10, 1]
        }]
    },
    options: {
        tooltips: {
            enabled: false
        },
        animation: {
            duration: 0,
            onComplete: function () {
                if (this.data.datasets.length === 2) {
                    // render the value of the chart above the bar
                    var ctx = this.chart.ctx;
                    ctx.font = Chart.helpers.fontString(Chart.defaults.global.defaultFontSize, 'normal', Chart.defaults.global.defaultFontFamily);
                    ctx.fillStyle = this.chart.config.options.defaultFontColor;
                    ctx.textAlign = 'center';
                    ctx.textBaseline = 'bottom';
                    var firstDataSet = this.data.datasets[0];
                    var secondDataSet = this.data.datasets[1];
                    if (firstDataSet.length === secondDataSet.length) {
                        for (var i = 0; i < firstDataSet.data.length; i++) {
                            var firstModel = firstDataSet._meta[Object.keys(firstDataSet._meta)[0]].data[i]._model;
                            var secondModel = secondDataSet._meta[Object.keys(secondDataSet._meta)[0]].data[i]._model;
                            var total = firstDataSet.data[i] + secondDataSet.data[i];
                            if (firstDataSet.data[i] >= secondDataSet.data[i]) {
                                ctx.fillText((firstDataSet.data[i] * 100 / total).toFixed(2) + '%', firstModel.x, firstModel.y + 30);
                            } else {
                                ctx.fillText((secondDataSet.data[i] * 100 / total).toFixed(2) + '%', secondModel.x, secondModel.y + 30);
                            }
                        }
                    }
                }
            }
        },
        scales: {
            yAxes: [{
                ticks: {
                    beginAtZero: true
                },
                stacked: true
            }],
            xAxes: [{
                stacked: true,
            }]
        }
    }
});
var ctx = document.getElementById("myChart");
var myChart = new Chart(ctx, {
    type: 'bar',
    data: {
        labels: ["Bix Produce", "Capitol City", "Charlies Portland", "Costa Fruit and Produce", "Get Fresh Sales", "Loffredo East", "Loffredo West", "Paragon", "Piazza Produce"],
        datasets: [{
            backgroundColor: 'rgba(97, 188, 109, 0.2)',
            borderColor: 'rgba(97, 188, 109, .8)',
            data: [7000, 5565, 3806, 5925, 5721, 6635, 14080, 9027, 25553]
        }, {
            backgroundColor: 'rgba(236, 107, 86, 0.2)',
            borderColor: 'rgba(236, 107, 86, .8)',
            data: [17724, 2565, 1506, 3625, 3721, 4635, 7080, 4027, 12553]
            //data: [17, 1, 18, 14, 3, 1, 5, 10, 1]
        }]
    },
    options: {
        tooltips: {
            enabled: false
        },
        animation: {
            duration: 0,
            onComplete: function() {
                if (this.data.datasets.length === 2) {
                    var ctx = this.chart.ctx;
                    ctx.font = Chart.helpers.fontString(Chart.defaults.global.defaultFontSize, 'normal', Chart.defaults.global.defaultFontFamily);
                    ctx.fillStyle = this.chart.config.options.defaultFontColor;
                    ctx.textAlign = 'center';
                    ctx.textBaseline = 'bottom';
                    var firstDataSet = this.data.datasets[0];
                    var secondDataSet = this.data.datasets[1];
                    if (firstDataSet.length === secondDataSet.length) {
                        for (var i = 0; i < firstDataSet.data.length; i++) {
                            var firstModel = firstDataSet._meta[Object.keys(firstDataSet._meta)[0]].data[i]._model;
                            var secondModel = secondDataSet._meta[Object.keys(secondDataSet._meta)[0]].data[i]._model;
                            var total = firstDataSet.data[i] + secondDataSet.data[i];
                            if (firstDataSet.data[i] >= secondDataSet.data[i]) {
                                ctx.fillText((firstDataSet.data[i] * 100 / total).toFixed(2) + '%', firstModel.x, firstModel.y + 30);
                            }else{
                                ctx.fillText((secondDataSet.data[i] * 100 / total).toFixed(2) + '%', secondModel.x, secondModel.y + 30);
                            }
                        }
                    }
                }
            }
        },
        scales: {
            yAxes: [{
                ticks: {
                    beginAtZero: true
                },
                stacked: true
            }],
            xAxes: [{
                stacked: true,
            }]
        }
    }
 });