javascript – 隐藏x轴ChartJS上的标签

前端之家收集整理的这篇文章主要介绍了javascript – 隐藏x轴ChartJS上的标签前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在x轴上隐藏标签,因为我有一个设置的解决方

$scope.labels = [”,”,”];

但在这种情况下,标签也会隐藏在工具提示中.我想要的是在条形图上显示标签悬停,但我不想在x轴上显示这些标签.因为它也会扰乱我的用户体验,因为图表宽度太低.

我确实花了太多时间在这上面但是找不到摆脱x轴标签解决方案.请帮帮我……

解决方法

您可以扩展图表来执行此操作,就像这样
Chart.types.Bar.extend({
    name: "BarAlt",initialize: function(data){
        Chart.types.Bar.prototype.initialize.apply(this,arguments);
        var xLabels = this.scale.xLabels;
        for (var i = 0; i < xLabels.length; i++)
            xLabels[i] = '';
    }
});

并称之为

var myBarChart = new Chart(ctx).BarAlt(data);

小提琴 – http://jsfiddle.net/kq3utvnu/

感谢@Samuele指出这一点!对于非常长的标签,您需要将标签设置为更短的标签,然后将其设置回原始标签(在图表元素中),这样标签的x轴下方就不会占用任何空间.

Chart.types.Bar.extend({
    name: "BarAlt",initialize: function(data){
        var originalLabels = data.labels;
        data.labels = data.labels.map(function() { return '' });

        Chart.types.Bar.prototype.initialize.apply(this,arguments);
        this.datasets[0].bars.forEach(function(bar,i) {
            bar.label = originalLabels[i];
        });
        var xLabels = this.scale.xLabels;
        for (var i = 0; i < xLabels.length; i++)
        xLabels[i] = '';
    }
});

小提琴 – http://jsfiddle.net/nkbevuoe/

猜你在找的JavaScript相关文章