第一次使用,所以请原谅任何意外违反协议。我正在尝试将形成 D3 生成的弦图外环的弧线转换为各种条形图,每个组的弧线具有不同的外半径。我在 D3 文档中没有发现任何暗示这是不可能的,但我还没有找到解决方案。棘手的部分似乎是获得一个函数来执行并从我存储的 csv 文件中检索相关数字,并相应地更改弧的外半径。这是我到目前为止所拥有的(修改自“Andrew RP's Andrew's Chord Example”):
d3.csv('teams.csv', function(cities) {
d3.json('matrix1.json', function(matrix) {
// Compute the chord layout.
layout.matrix(matrix);
// Add a group per neighborhood.
var group = svg.selectAll(".group")
.data(layout.groups)
.enter().append("g")
.attr("class", "group")
.on("mouseover", mouseover);
// Add the group arc.
var groupPath = group.append("path")
.attr("id", function(d, i) { return "group" + i; })
.attr("d", d3.svg.arc().innerRadius(innerRadius).outerRadius(innerRadius + function(d, i) {return cities[i].conservation;}))
.style("fill", function(d, i) { return cities[i].color; });
但是当我运行程序时,它不显示外弧,并在浏览器的开发人员窗格中提供错误消息,说它无法解析“d”,并表明它在执行 outerRadius(...) 中的函数时遇到了问题。任何帮助或建议将不胜感激。谢谢!