【问题标题】:Hide x-axis labels but show tooltips in chart.js隐藏 x 轴标签但在 chart.js 中显示工具提示
【发布时间】:2023-03-25 13:17:01
【问题描述】:

我找到了很多关于如何隐藏每个第 n 个标签但仍然能够在工具提示中显示它的答案。但有一个问题。如果标签很长,那么图表会以某种方式被压扁到画布的顶部。这是合乎逻辑的。但是有没有办法隐藏标签,仍然在工具提示中显示它们,但在计算 y 值时忽略它们?这样就可以从画布上到下画线了?

谢谢你的建议!!

【问题讨论】:

  • 剥离标签,比如在设置图表之前将其设为空字符串可能会有所帮助?
  • 当然,确实如此。但是我不知道如何在工具提示中显示它们。
  • 也许您可以使用工具提示数据创建一个单独的数组。或者我记得格式化工具提示。你可以在那里玩
  • 您能帮我指出正确的工具吗,我真的非常感谢。
  • @jPO - 在此处查看答案的第二部分 - stackoverflow.com/a/32864384/360067

标签: javascript html canvas chart.js


【解决方案1】:

您可以扩展折线图来执行此操作。改编自 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 时,标签是从第一个数据集中挑选的。


小提琴 - http://jsfiddle.net/xjchy2dn/

【讨论】:

  • 难以置信!谢谢!再一次这么简单:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-11
  • 2020-01-09
  • 2016-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多