AnyChart 中的自定义 Y 轴

Custom Y-Axis in AnyChart

我有一个要求,其中 y 轴标签需要如下所示: 1, 0.1, 0.01, 0.001, 0

有没有办法在 AnyChart 中实现这个自定义 y 轴?

或多或少有可能。您可以使用这些设置来设置所需的对数刻度:

var logScale = anychart.scales.log();
logScale.minimum(0);
logScale.maximum(1);

// Get ticks
var ticks = logScale.ticks();
ticks.count(4);

// Minor ticks
var minorTicks = logScale.minorTicks();
minorTicks.count(3);

chart.yScale(logScale);
chart.yAxis({minorTicks: true, minorLabels: true});

然而,据我所知,不可能从 0.001 跳到 0。发生这种情况是因为在内部从 0.001 到 0 有很大的数字差距,我们不能在保持图表比例一致。

演示:https://playground.anychart.com/CnDenhWb/2

另一方面,如果您真的只想显示 [1, 0.1, 0.01, 0.001, 0],那么您可以添加此代码:

var ticksArray = [1, 0.1, 0.01, 0.001, 0];
chart.yScale().ticks().set(ticksArray);

这将隐藏 0.001 和 0 之间的其他标签。

演示:https://playground.anychart.com/ABxQ3oBc/1

您可以使用唯一的 logScale 和手动应用所需的刻度来实现这一点。有关详细信息,请查看 the sample on the playground。 下面是结果: