chart.js中有多个数据集的问题

时间:2019-02-28 17:12:47

标签: chart.js

我正在尝试使用chart.js创建条形图,以显示按出版物购买的广告中的广告展示次数。所需的图表将在每个出版物上显示一个条形,代表该广告在该网站上的展示次数。

我认为这需要作为多个数据集发生,每个出版物一个,每个数据集包含一个数据点。这是我用于此方法的代码:

var chartData_webbanner_300x600 = {
    labels: ["Publication 1", "Publication 2"],
    datasets: [
        {
            label: "Publication 1",
            backgroundColor: "#971317",
            data: [30000]
        },
        {
            label: "Publication 2",
            backgroundColor: "#0b72ba",
            data: [40000]
        },
    ]
};

window.onload = function() {

        var ctx_webbanner_300x600 = document.getElementById('chart_webbanner_300x600').getContext('2d');
    window.myBar = new Chart(ctx_webbanner_300x600, {
        type: 'bar',
        data: chartData_webbanner_300x600,
        options: {
            title: {
                display: true,
                text: 'Web Banner Impressions'
            },
            responsive: true,
        }
    });


}; //window.onload = function()

结果图表仅显示一个条形图。这是屏幕截图:

enter image description here

我也尝试过将其作为单个数据集,但是没有运气。这是我尝试过的方法:

var chartData_webbanner_300x600 = {
    labels: ["Total Impressions"],
    datasets: [
        {
            label: ["Publication 1", "Publication 2"],
            backgroundColor: ["#971317","#0b72ba"],
            data: [30000,40000]
        }
    ]
};

window.onload = function() {

        var ctx_webbanner_300x600 = document.getElementById('chart_webbanner_300x600').getContext('2d');
    window.myBar = new Chart(ctx_webbanner_300x600, {
        type: 'bar',
        data: chartData_webbanner_300x600,
        options: {
            title: {
                display: true,
                text: 'Web Banner Impressions'
            },
            responsive: true,
        }
    });


}; //window.onload = function()

这是显示方式(无条形):

enter image description here

如果您对我做错了什么有任何想法,请告诉我。感谢您抽出宝贵的时间来帮助您!

1 个答案:

答案 0 :(得分:0)

我能够通过以下代码使用它:

.txt

这是基于我在Setting specific color per label in chart.js和此处How to set max and min value for Y axis所找到的内容-克服了一个问题,即刻度从数据集中的最低值开始。