javascript - 在 Chart.js 中隐藏 x 轴标签但显示工具提示

标签 javascript html canvas chart.js

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

感谢您的建议!!

最佳答案

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

<小时/>

fiddle - http://jsfiddle.net/xjchy2dn/

关于javascript - 在 Chart.js 中隐藏 x 轴标签但显示工具提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35651162/

相关文章:

html - 如何使用变换:scale() on an iframe without antialiasing?

javascript - 如何使用JS制作幻灯片

java - 如何通过 Html.fromHtml(text) 更改在 TextView 中加载的默认图像(占位符)

.net - 如何使元素能够在其容器外绘制?

javascript - 连接javascript中的两个变量不是工作对象

javascript - 如何在 Web 项目中查找未使用/无效代码(JavaScript 中 90% 的代码)

用于 Canvas html5 的 Javascript getImageData

javascript - 如何使用表格作为绘图网格

javascript - 需要构建一个日历组件,其中包含从 JSON 响应映射的每个日期的时隙选择

javascript - 使用 JNA、Rhino、JavaScript 分配字符缓冲区