首页 > 解决方案 > AnyChart 中的自定义 Y 轴

问题描述

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

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

标签: javascriptnode.jsanychartanychart-8.2

解决方案


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

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

在此处输入图像描述


推荐阅读