Javascript 使用D3js并行集动态添加或删除维度
我正在尝试动态地更改平行集图表的维度,正如本文前面所问的 我正在使用Jason Davies创建的可重用图表: 我使用以下代码创建图表:Javascript 使用D3js并行集动态添加或删除维度,javascript,d3.js,Javascript,D3.js,我正在尝试动态地更改平行集图表的维度,正如本文前面所问的 我正在使用Jason Davies创建的可重用图表: 我使用以下代码创建图表: var chart = d3.parsets() .dimensions(["Survived", "Sex", "Age", "Class"]); var vis = d3.select("#vis").append("svg") .attr("width", chart.width()) .attr("height", ch
var chart = d3.parsets()
.dimensions(["Survived", "Sex", "Age", "Class"]);
var vis = d3.select("#vis").append("svg")
.attr("width", chart.width())
.attr("height", chart.height());
d3.csv("titanic.csv", function(error, csv) {
vis.datum(csv).call(chart);
});
我已经创建了一个按钮,单击该按钮时应调用函数更改,该更改应将维度更改为[Surved,Sex,Class]
职能:
function change() {
vis.call(chart.dimensions(["Survived", "Sex", "Class"]));
}
调用函数时,我得到错误Uncaught TypeError:无法读取第90行未定义的属性'hasOwnProperty',该属性位于可重用图表中的updateDimensions函数内
任何人都可以解决这个问题,或者我应该使用变通方法来解决这个问题,创建一个具有新维度的新svg对象,并删除user1386906在前面问题的注释中提到的旧svg对象?有没有一种方法可以使并行集采用json中数据实体的不同值 我用了一些随机数发生器
svg.datum(data)
.call(chart
.value(function(d, i) {
var v1, v2, v3;
v1 = d["Valu"];
v2 = d["Val"];enter code here
v3 = d["Value"];
console.log(v1);
console.log(v2);
console.log(v3);
var x = Math.floor((Math.random() * 10) + 1);
if (x < 5) {
return v2;
} else {
return v3;
}
})
.mapLevel(levelMap)
.dimensions(arrayOfDimensions)
//dimensions to be displayed by chart. (i.e "Cost Item", "Location" etc)
);
具有不同的大小,因此连接它们的功能区在源节点和目标节点之间具有不同的大小
nodeP node Parallel to nodeP
] ]
]