我找到了许多答案,如何隐藏每个第n个标签,但仍然能够在工具提示中显示它。但是有一个问题。如果标签很长,那么图表会以某种方式被绘制到画布的顶部。这是合乎逻辑的。但有没有办法隐藏标签,仍然在工具提示中显示它们但在计算y值时忽略它们?这样就可以从画布的顶部到底部绘制线条了吗?
感谢您的任何建议!!
答案 0 :(得分:2)
您可以扩展折线图来执行此操作。改编自Hide labels on x-axis ChartJS(用于条形图),删除了一些不需要的代码。
我们做的很简单,我们首先将标签数组设置为空白,允许初始化发生,最后循环遍历(第一个)数据集的点,并将标签设置为原始标签。
Chart.types.Line.extend({
name: "LineAlt",
initialize: function(data){
var originalLabels = data.labels;
data.labels = data.labels.map(function() { return '' });
Chart.types.Line.prototype.initialize.apply(this, arguments);
this.datasets[0].points.forEach(function(bar, i) {
bar.label = originalLabels[i];
});
}
});
即使您有多个数据集,也可以为第一个数据集设置标签 - 在构建multiTooltip时,从第一个数据集中选择标签。