Chart.js中的水平xAxis标签

时间:2017-04-01 15:08:09

标签: javascript bar-chart chart.js

我正在处理一个必须放在一个小div中的chart-js条形图,所以我正在寻找一种方法来使x轴上的标签水平而不是对角线。关键是要为实际的条形获得尽可能多的高度,因为现在标签占用了可用空间的近40%。

这是我的代码:

let options = {
    responsive: true,
    maintainAspectRatio: false,
    scales: {
        yAxes: [{
            ticks: {
                beginAtZero: true
            }
        }],
        xAxes: [{
            display: false
        }]
    }
};
let ctx = document.getElementById('barChartCtx');
let barChart = new Chart(ctx, {
    type: 'bar',
    data: data,
    options: options
});

我暂时禁用了xAxis标签。它的工作原理但理想情况下我希望它们是水平的。想法?

1 个答案:

答案 0 :(得分:3)

您可以使用比例刻度maxRotationminRotation属性来控制它。

这是一个例子。

let options = {
    responsive: true,
    maintainAspectRatio: false,
    scales: {
        yAxes: [{
            ticks: {
                beginAtZero: true
            }
        }],
        xAxes: [{
            ticks: {
                minRotation: 0
                maxRotation: 0
            }
        }]
    }
};

请记住,它们是对角线的原因是因为chart.js计算出它们不适合它们的默认水平方向。如果你发现它们在水平时互相溢出,那么你仍然可以使用上面的属性来调整旋转,使它们只是略微倾斜。