Javascript 基于d3.js上的数据更改圆弧外半径
第一次使用,所以请原谅任何意外违反协议。我试着把形成D3生成的弦图外环的弧,转换成各种条形图,每组的弧有不同的外半径。我在D3文档中没有发现任何东西表明这是不可能的,但我还没有找到解决方案。棘手的部分似乎是获取一个函数来执行并从存储在其中的csv文件中检索相关编号,并相应地更改圆弧的外半径。以下是我到目前为止所做的(修改自“Andrew RP的Andrew的和弦示例”): 但当我运行该程序时,它不会显示外弧,并在浏览器的“开发人员”窗格中提供错误消息,说明它无法解析“d”,并显示它在outerRadius(…)内执行函数时遇到问题。 任何帮助或建议都将不胜感激。Javascript 基于d3.js上的数据更改圆弧外半径,javascript,d3.js,chord-diagram,Javascript,D3.js,Chord Diagram,第一次使用,所以请原谅任何意外违反协议。我试着把形成D3生成的弦图外环的弧,转换成各种条形图,每组的弧有不同的外半径。我在D3文档中没有发现任何东西表明这是不可能的,但我还没有找到解决方案。棘手的部分似乎是获取一个函数来执行并从存储在其中的csv文件中检索相关编号,并相应地更改圆弧的外半径。以下是我到目前为止所做的(修改自“Andrew RP的Andrew的和弦示例”): 但当我运行该程序时,它不会显示外弧,并在浏览器的“开发人员”窗格中提供错误消息,说明它无法解析“d”,并显示它在outerR
谢谢 这段代码不正确:
.outerRadius(innerRadius + function(d, i) {return cities[i].conservation;})
您正在尝试对函数的内半径
+引用进行求和。
函数(d,i){return cities[i].conservation;}
只是对该函数的指针引用,而不是函数调用。这个函数不是直接调用的,它只是作为参数传递给outerRadius,outerRadius稍后执行它。
在您的示例中,有一个名为innerRadius+函数(d,i){return cities[i].conservation;}
。它们是不兼容的类型(innerRadius可能是整数,function(…是function类型),因此调用了method.toString()
,您将字符串“100function(d,i){return cities[i].conservation;}”
传递给.outerRadius,其中100是innerRadius
变量的值。
代码应为:
.outerRadius(function(d, i) {return innerRadius + cities[i].conservation;})
这就解决了问题。非常感谢。我花了7个小时摆弄它,但我真的不了解D3以及整个链接的工作原理。你在推进医学研究方面做了一小部分,谢谢你。
.outerRadius(function(d, i) {return innerRadius + cities[i].conservation;})