首页 > 解决方案 > 在 chart.js 中,如何知道 yAxes 刻度是否碰撞/渲染到另一个

问题描述

使用chart.js的版本是2.8.0(今天终于更新了^_^)

我试过了autoSkip: trueautoSkipPadding: 10但是这些 yAxes 刻度值不适用于对数刻度

在此处输入图像描述

由于我当前使用的是对数 yAxes,因此我们无法覆盖刻度步长值

我知道我可以使用on chartjs 文档的callback函数来返回或完全不呈现 y 刻度值,但我需要知道定位是否触及另一个 y 刻度边界/边界框,如果你愿意的话,如果我想这样做/在我能够这样做之前yAxesnullundefined

我知道这是个问题,但帆布不是我的强项——但 ;)

生病继续挖掘并尝试一些事情,但任何帮助表示赞赏!

干杯

标签: javascriptcanvaschart.js

解决方案


我必须进入 chart.js 库逻辑并添加我自己的自定义修改。我调用我自己的函数来返回一个布尔标志,说明我是否应该跳过当前要绘制的 y 轴,然后我将用于绘制的 currentY 值和绘制时使用的前一个 y 值传递给它

这个 Chart.js 库版本是 chartjs.2.2.2,我在 src/core/core.scale.js 中从下面的 if 语句中的代码中编辑并进行了这些自定义修改,如第 800 行给或取几百行: p

if (optionTicks.display) {
    //...
}

也许这对其他人有帮助,祝你好运!

干杯


推荐阅读