d3.csv操作显示的数据切换列

时间:2015-07-26 13:32:00

标签: javascript csv d3.js

从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 个答案:

答案 0 :(得分:0)

它最终成为主要功能中的一个简单解决方案:

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;
  };

 };

我只是从下拉列表中获取值并有条件地选择返回的函数