Javascript d3js V6,如何使用多个左轴?

Javascript d3js V6,如何使用多个左轴?,javascript,d3.js,yaxis,Javascript,D3.js,Yaxis,我的目标是一个有多个Y轴的图表 然后我尝试调用d3.axisLeft().scale(),对于第二个Y轴,轴正在绘制但未缩放 var yscaleLvl = d3.scaleLinear() .domain([0, d3.max(chartData, function (d) { return (d.lvlData*1.2) /10.0; } )] ) .range([height / 2, 0]); var yscaleVol

我的目标是一个有多个Y轴的图表

然后我尝试调用d3.axisLeft().scale(),对于第二个Y轴,轴正在绘制但未缩放

var yscaleLvl = d3.scaleLinear()
            .domain([0, d3.max(chartData, function (d) { return (d.lvlData*1.2) /10.0; } )] )
            .range([height / 2, 0]);

        var yscaleVolume = d3.scaleLinear()
            .domain([0, d3.max(chartData, function (d) { return (d.volumeData * 1.2) / 10.0; })])
            .range([height / 2, 0]);
var y_axisLvl = d3.axisLeft().scale(yscaleLvl);
        svg.append("g")
            .attr("transform", "translate(50, 10)")
            .attr("stroke-width", 3.0)
            .call(y_axisLvl);

        
        var y_axisVolume = d3.axisLeft().scale(yscaleVolume);
        svg.append("g")
            .attr("transform", "translate(15, 10)")
            .attr("stroke-width", 3.0)
            .call(y_axisVolume);

有可能是直接的方式,也有可能需要更复杂的方式?

您发布的方式正是添加多个轴的方式

const yScaleA=d3.scaleLinear().domain([0,1]).range([10190])
const yScaleB=d3.scaleLinear().domain([10100]).range([10190])
常数yAxisA=d3.axisLeft(yScaleA)
常数yAxisB=d3.axisLeft(yScaleB)
const svg=d3.select('svg')
svg.append('g').attr('transform','translate(100,0)).call(yAxisA)
svg.append('g').attr('transform','translate(50,0')).call(yAxisB)
下面是一个示例

如果您没有达到这个结果,那么在应用程序的其他地方就有一个bug