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()

Demo fiddle.