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。
下面是结果:
我有一个要求,其中 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。
下面是结果: