我刚刚开始学习D3。现在版本为4,不幸的是,大多数在线教程和示例都是版本3.
我试图创建圈子。但似乎无法让attr
方法起作用。我创建了小提琴,简化为只渲染一个圆圈;
D3 v3:https://jsfiddle.net/pratheepraj/595rrqc2/
D3 v4:https://jsfiddle.net/pratheepraj/Ldokhq2e/2/
正如您所看到的,确切的代码适用于v3但不适用于v4。在v4中,如果检查元素,则会创建圆,但不会设置属性。你们可以指出v4应该改变什么。
答案 0 :(得分:2)
在D3 v4中,您有两种选择:
.attr
与一个属性一起使用(请参阅此处的工作示例:https://jsfiddle.net/yxprgokp/1/)使用.attrs
将属性作为对象,并使用额外的插件(https://github.com/d3/d3-selection-multi):
为了简约,这个模块不包含在默认的D3包中:对于大多数用户,推荐使用单值方法,例如selection.attr,因为这些方便方法提供的语法较短,效果不大。
GitHub上的原始问题:https://github.com/d3/d3/issues/2793