问题描述
我有一个要求,其中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];
chart.yScale().ticks().set(ticksArray);
这会将其他标签隐藏在0.001和0之间。
演示:https://playground.anychart.com/ABxQ3oBc/1
,您可以使用只有logScale并应用手动要求的刻度的方法来实现。有关详细信息,请检查the sample on the playground。 结果如下: