Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.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 ChartJS每个标签的唯一数据集_Javascript_Chart.js_Chartjs 2.6.0 - Fatal编程技术网

Javascript ChartJS每个标签的唯一数据集

Javascript ChartJS每个标签的唯一数据集,javascript,chart.js,chartjs-2.6.0,Javascript,Chart.js,Chartjs 2.6.0,我坐在这里处理一个问题,但我找不到解决办法。我正在尝试使用chartJS创建一个堆叠条形图。没什么复杂的 我的问题是: 图表上的每个条形图都应该有唯一的值/标签。这些不应该在下一个酒吧重复。。。解释起来有点复杂,所以我画了一幅画: 正如您所看到的,每个条都应该有其独特的数据。通常,如果第一栏上有“苹果”和一些值,那么第二栏上也会有“苹果”和一些其他值。。。但我不想那样。我真的想要分开的条,在一个图中彼此不相关 有没有办法做到这一点 我试了48小时,真的什么都试过了。尝试使用多维数组、“堆叠”选

我坐在这里处理一个问题,但我找不到解决办法。我正在尝试使用chartJS创建一个堆叠条形图。没什么复杂的

我的问题是: 图表上的每个条形图都应该有唯一的值/标签。这些不应该在下一个酒吧重复。。。解释起来有点复杂,所以我画了一幅画:

正如您所看到的,每个条都应该有其独特的数据。通常,如果第一栏上有“苹果”和一些值,那么第二栏上也会有“苹果”和一些其他值。。。但我不想那样。我真的想要分开的条,在一个图中彼此不相关

有没有办法做到这一点

我试了48小时,真的什么都试过了。尝试使用多维数组、“堆叠”选项、多个数据集,但似乎没有任何效果。甚至可以用chartJS实现这一点吗

我将发布我当前的代码(请注意,这只是我尝试过的50种不同东西的一个版本…但我认为发布我目前拥有的简单代码可能会很好,因为另一个失败不会真正有任何帮助…)

以下是我当前试图修改的代码:

var ctx = document.getElementById("chart1").getContext('2d');
var labels = ["Data1", "Data2", "Data3"];
var data = {
    "labels": labels,
    "datasets": [{
        "label": "t1",
        "xAxisID": "x-axis-0",
        "data": [29, 19, 26],
        "backgroundColor": 'blue'
    },
    {
        "label": "t1_SUM",
        "xAxisID": "x-axis-0",
        "data": [32, 29, 36],
        "backgroundColor": 'red'
    }]
}

new Chart(ctx, {
    type: "bar",
    data: data,
    options: {
        scales: {
            xAxes: [{
                "stacked": true,
                "id": "x-axis-0"
            },
            {
                "stacked": true,
                "id": "x-axis-1",
            }]
        }
    }
});
非常感谢您的帮助

谢谢

来源:

可以将每列定义为一个或多个数据集。 例:

var barChartData={
标签:[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”],
数据集:[{
标签:“数据集1”,
背景颜色:window.chartColors.red,
数据:[
randomScalingFactor(),
无效的
无效的
无效的
无效的
无效的
无效的
]
}, {
标签:“数据集2”,
背景颜色:window.chartColors.blue,
数据:[
randomScalingFactor(),
无效的
无效的
无效的
无效的
无效的
无效的
]
}, {
标签:“数据集3”,
背景颜色:window.chartColors.green,
数据:[
无效的
randomScalingFactor(),
无效的
无效的
无效的
无效的
无效的
]
}, {
标签:“数据集4”,
背景颜色:window.chartColors.green,
数据:[
无效的
无效的
randomScalingFactor(),
无效的
无效的
无效的
无效的
]
}]
};
var ctx=document.getElementById('canvas').getContext('2d');
window.myBar=新图表(ctx{
类型:'bar',
数据:barChartData,
选项:{
标题:{
显示:对,
文本:“Chart.js条形图-堆叠”
},
工具提示:{
回调:{
标签:函数(工具提示项、数据){
var label=data.datasets[tooltipItem.datasetIndex].label | |“”;
如果(标签){
标签+=':';
}
label+=数学圆(tooltipItem.yLabel*100)/100;
退货标签;
}
}
},
回答:是的,
比例:{
xAxes:[{
对,,
}],
雅克斯:[{
是的
}]
}
}
});


您必须将属性添加到属性中。@HoangHieu谢谢您的回答,这解决了我的问题。投票通过并接受。想想timclutton因为缺乏来源而被否决,也许他会取消他的否决票,现在你添加了它。:)看到明显的剽窃行为时下意识的反应。当你更新你的帖子时,我收回了我的反对票。谢谢你编辑你的答案。
datasets: [{
                label: 'Dataset 1',
                backgroundColor: window.chartColors.red,
                data: [
                    randomScalingFactor(),
                    null,
                    null,
                    null,
                    null,
                    null,
                    null
                ]
            }, {
                label: 'Dataset 2',
                backgroundColor: window.chartColors.blue,
                data: [
                    null,
                    randomScalingFactor(),
                    null,
                    null,
                    null,
                    null,
                    null
                ]
            }]