问题描述
从cvs.file读取数据
"col1","col2"
"row1col1","row1col2"
我想在强制布局中切换列数据以选择列2或列1,但要动态选择。
node = nodeG.selectAll(".node")
.data(data, function(d) {return d.column1;});//first option
node = nodeG.selectAll(".node")
.data(data, function(d) {return d.column2;});//second option
我尝试使用一个变量,由于某种原因它不起作用
var data_variable = function(d) {return d.column1;}
|| function(d) {return d.column2;}
// pseudocode, data from input options
node = nodeG.selectAll(".node")
.data(data, data_variable);
这是正确的方法还是在显示之前更好地处理了数据?
1楼
Ed Die
0
已采纳
2015-07-27 16:05:00
最终成为主要功能内部的一个简单解决方案:
var ls = d3.select("#selector").property("value");
if (ls === 'it' ){
idValue = function(d) {
return d.col1;
};
textValue = function(d) {
return d.col1;
};
} else {
idValue = function(d) {
return d.col2;
};
textValue = function(d) {
return d.col2;
};
};
我只是从下拉列表中获取值,然后有条件地选择了返回的函数