我正在使用d3.v2.js渲染饼图和一个表盘(位于中心)以指向饼图的选定组件.拨号代码如下
function createDialIndicator(dialerData, subComponentId, subComponentsCount, group){
var offsetAngle = (360/subComponentsCount)/2;
var dialAngle = ((360/subComponentsCount)*(parseInt(subComponentId.charAt(subComponentId.length-1))))-offsetAngle;
var dialGroup = group.append("g")
.attr("class","dialGroup");
dialGroup.append("path")
.attr("class","dial")
.attr("d",dialerData)
.attr("fill","gold");
d3.selectAll(".dialGroup")
.transition()
.duration(1000)
.attr("transform", "rotate(" + dialAngle + ")");
}
function updateDialIndicator(subComponentId, subComponentsCount){
var offsetAngle = (360/subComponentsCount)/2;
var dialAngle = ((360/subComponentsCount)*(parseInt(subComponentId.charAt(subComponentId.length-1))))-offsetAngle;
d3.selectAll(".dialGroup")
.transition()
.duration(1000)
.attr("transform", "rotate(" + dialAngle + ")");
}
Run Code Online (Sandbox Code Playgroud)
我在初始渲染和updateDialIndicator()上调用createDialIndicator()来将刻度盘更改为指向我单击的组件. 问题是: d3在旋转时在createDialIndicator()中抛出以下错误,但在updateDialIndicator()中没有.我可以知道会出现什么问题吗?
错误:属性变换的值无效="null"