2014-09-23 66 views
0

我想用json数组填充d3比例。当我这样做时它可以工作:将json数组放入d3中.range

var fill = d3.scale.ordinal() 
     .domain(d3.range(6)) 
     .range(["#602320","#D40000","#EA627A","#FF0000","#FFB600"]); 

我需要动态地用一些不同的颜色填充范围。我创建一个JSON数组,像这样:

  var chordcolorsetsplit = chordcolorvalues.split(","); 
      var chordcolorset = JSON.stringify(chordcolorsetsplit); 

      alert(chordcolorset); 

警报返回一个字符串,看起来像这样:

output of chordcolorset var

但是当我试图在.range使用它不起作用正确。关于正确语法的任何想法?

var fill = d3.scale.ordinal() 
     .domain(d3.range(6)) 
     .range(chordcolorset); 

作为参考,chordcolorvalues阵列看起来像这样: enter image description here

+0

'chordcolorvalues'看起来像什么? – RichieAHB 2014-09-23 10:16:27

+0

“范围”的外观接受标准数组而不是JSON。你尝试过传递'chordcolorvalues'吗? – RichieAHB 2014-09-23 10:23:13

+0

chordcholorvalues does not work,我已经更新了该数组看起来像什么问题。感谢您的帮助 – Cookiejest 2014-09-23 10:30:23

回答

0

答案是简单地传递一个分裂变量。在我上面的例子中,这意味着在范围内使用chordcolorsetsplit。