我正在尝试创建条形图的YAx。
现在,我已经通过使用以下命令完成了vScale:
var vScale = d3.scaleLinear()
.domain([50000, yValue])
.range([450, 0]);
然后,我使用以下命令创建了VAxis和VGuide:
//V Axis
var vAxis = d3.axisLeft(vScale)
.ticks(10)
.tickPadding(5);
//V Guide
var vGuide = d3.select("svg")
.append("g")
.vAxis(vGuide)
vGuide.attr("transform", "translate(35,10)")
vGuide.selectAll("path")
.style("fill", "none")
.style("fill", "#000")
vGuide.selectAll("line")
.style("stroke", "#000")
结果显示错误“ vAxis未定义”。 我对哪一步做错了感到困惑。我参考了有关d3v3的代码来创建轴,但不确定如何将其适应d3v4。
期待详细的帮助。欣赏。
答案 0 :(得分:0)
有一个错误:vGuide是一个选择对象,它没有方法调用“ vAxis”。
您应该这样写: vGuide = d3.select(“ svg”)。append(“ g”)。call(vAxis)
async def child(x):
print(f"Child sleeping {x}")
await trio.sleep(x)
return 2*x
async def parent():
tasks = [(child, t) for t in range(3)]
return await trio.gather(*tasks)
print("results:", trio.run(parent))
答案 1 :(得分:0)
您错误地调用了轴渲染功能。 vAxis
是呈现功能,d3.selection
上不存在此功能。如果查看示例https://github.com/d3/d3-axis#api-reference,则应该.call(axisFunction)
。
更改此设置将解决您的问题:
var vGuide = d3.select("svg")
.append("g")
.call(vAxis);