Javascript d3js V6,如何使用多个左轴?
我的目标是一个有多个Y轴的图表 然后我尝试调用d3.axisLeft().scale(),对于第二个Y轴,轴正在绘制但未缩放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
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