Chart.js水平条宽

时间:2017-01-11 16:18:44

标签: javascript bar-chart chart.js

我有以下条形图:

bar chart

使用以下代码生成上面的图表:

    var myChart = new Chart(ctx, {
    type: 'horizontalBar',
    data: {
        labels: labels,
        datasets: [{
            label: '# of Votes',
            data: data,
            backgroundColor: [
                'rgba(255, 99, 132, 0.2)',
                'rgba(54, 162, 235, 0.2)',
                'rgba(255, 206, 86, 0.2)',
                'rgba(75, 192, 192, 0.2)',
                'rgba(153, 102, 255, 0.2)',
                'rgba(255, 159, 64, 0.2)'
            ],
            borderColor: [
                'rgba(255,99,132,1)',
                'rgba(54, 162, 235, 1)',
                'rgba(255, 206, 86, 1)',
                'rgba(75, 192, 192, 1)',
                'rgba(153, 102, 255, 1)',
                'rgba(255, 159, 64, 1)'
            ]
        }]
    },
    options: {
        responsive: true,
        scales: {
            yAxes: [{
                borderWidth: 40,
                ticks: {
                    beginAtZero:true
                }
            }]
        }
    }
});

如您所见,条形宽度相当小。

我的问题是,如何增加每个条的宽度?

4 个答案:

答案 0 :(得分:1)

您在此处的文档中提到了barThickness选项 - > http://www.chartjs.org/docs/#bar-chart-chart-options

答案 1 :(得分:1)

虽然这不是官方修正,但它对我有用。我从这个链接https://github.com/chartjs/Chart.js/issues/2787

中获得了建议

我将所有值存储在多个数组中,因此计算对象数量并乘以特定数字并设置图表包装器的高度(图表周围的div)。

<div class="chart-wrapper horizontalBar" style="position: relative; height: 50vh;">
    <canvas id="chart-location"></canvas>
</div>

然后在绘制图表后,设置高度(location_labels是一个包含所有标签的数组)

$( ".horizontalBar" ).height(location_labels.length * 30);

答案 2 :(得分:0)

仅增加画布高度。例如;

<canvas id="horizontalbar" height="1000px"></canvas>

答案 3 :(得分:0)

只需在height元素中添加canvas标记。这为我解决了。

<canvas id="Chart" height="50">