Javascript ${yScale(-3)})`) .呼叫(xAxis) 更新(数据[0]。BIB) } 常数更新=bib=>{ 常量filteredData=data.filter(d=>d.BIB==BIB); const rect=g.selectAll(“rect”

Javascript ${yScale(-3)})`) .呼叫(xAxis) 更新(数据[0]。BIB) } 常数更新=bib=>{ 常量filteredData=data.filter(d=>d.BIB==BIB); const rect=g.selectAll(“rect”,javascript,d3.js,Javascript,D3.js,${yScale(-3)})`) .呼叫(xAxis) 更新(数据[0]。BIB) } 常数更新=bib=>{ 常量filteredData=data.filter(d=>d.BIB==BIB); const rect=g.selectAll(“rect”) .data(filteredData,d=>d.RUN); rect.exit().remove(); 直肠 .输入() .append(“rect”) .merge(rect) .attr('v',d=>d.RATIO) .attr(“x

${yScale(-3)})`) .呼叫(xAxis) 更新(数据[0]。BIB) } 常数更新=bib=>{ 常量filteredData=data.filter(d=>d.BIB==BIB); const rect=g.selectAll(“rect”) .data(filteredData,d=>d.RUN); rect.exit().remove(); 直肠 .输入() .append(“rect”) .merge(rect) .attr('v',d=>d.RATIO) .attr(“x”,d=>xScale(d.RUN)) .attr(“宽度”,xScale.bandwidth()) .attr(“高度”,d=>d.RATIO<0?yScale(d.RATIO)-yScale(0):yScale(0)-yScale(d.RATIO)) .attr(“y”,d=>d.RATIO<0?yScale(0):yScale(d.RATIO)) .attr(“填充”,d=>d.RATIO<0?#2ec1ac':“红色”) .附加(“标题”) .文本(功能(d){ 回报率 }) } const uniqueSkiers=data.reduce((obj{ 围兜, 名称 }) => { obj[BIB]=名称; 返回obj; }, {}); render()
标签{
字体大小:较大;
字体系列:无衬线;
}
#Startnumer{
字体系列:无衬线;
字体大小:较大;
}
.安讯士{
字体大小:较大;
字体系列:无衬线;
}
矩形:悬停{
不透明度:0.6;
}

Startnummer:
1.

谢谢你,鲁本!如果使用d3.group(),它不会工作吗。我觉得这是最自然的方式?我需要一些时间来消化代码,但它奏效了!查看编辑历史记录,以前的版本使用了
d3.group()
。这比必要的要复杂得多。当使用随机数时,我理解了代码,但我很难再次将d3.csv()添加到函数中。我是否应该将const uniqueskiers包装在d3.csv()函数中,以便它能够访问数据?是的,我会执行
d3.csv()。然后(data=>{data.forEach(d=>d.BIB=+d.BIB);return data;})。然后(data=>{uniqueskiers=…;render();})