ElasticY 左轴和定义的 rightYaxis 域是否可能?
Is it possible for a ElasticY left axis and a defined rightYaxis domain?
目前我有一个复合线图,其中大部分区域的线重叠。为此,我开始寻找修改 rightY 域的方法。
.rightY(d3.scaleLinear().domain([0,1]))
右轴是一个百分比,如果我不设置 elastiY(true),它不应超过 1 并且看起来有效。有没有办法让左轴弹性和右轴固定域?
你是正确的,目前左右轴使用相同的弹性设置。
然而,elasticY
非常容易手动实现,因此您可以在渲染或重绘图表时将其关闭并计算左侧域:
moveChart.on('preRender preRedraw', chart => {
const ranges = chart._calculateYAxisRanges(true, false);
chart.y(d3.scaleLinear().domain([ranges.lyAxisMin, ranges.lyAxisMax]));
})
我通过查看综合图表的来源来解决这个问题,特别是 _prepareLeftYAxis() and _prepareYAxis()。
目前我有一个复合线图,其中大部分区域的线重叠。为此,我开始寻找修改 rightY 域的方法。
.rightY(d3.scaleLinear().domain([0,1]))
右轴是一个百分比,如果我不设置 elastiY(true),它不应超过 1 并且看起来有效。有没有办法让左轴弹性和右轴固定域?
你是正确的,目前左右轴使用相同的弹性设置。
然而,elasticY
非常容易手动实现,因此您可以在渲染或重绘图表时将其关闭并计算左侧域:
moveChart.on('preRender preRedraw', chart => {
const ranges = chart._calculateYAxisRanges(true, false);
chart.y(d3.scaleLinear().domain([ranges.lyAxisMin, ranges.lyAxisMax]));
})
我通过查看综合图表的来源来解决这个问题,特别是 _prepareLeftYAxis() and _prepareYAxis()。