在D3图表中使用硬编码数据而不是CSV文件

时间:2017-12-06 04:06:04

标签: d3.js

虽然我对javasript非常熟悉。 我第一次使用D3和示例svg图:http://bl.ocks.org/bbest/2de0e25d4840c68f2db1

在上面的示例中,CSV文件用作数据。 (示例中的文件是aster_data.csv)

我想使用脚本中定义的数据数组而不是文件。

而不是:

d3.csv('aster_data.csv', function(error, data) {
...

我添加了我的数组 -

var myData= [
      {"id":"ABC","order":1,"score":50,"weight":1,"color":"#9E0041","label": "Line1"},
      {"id":"CDE","order":2,"score":60,"weight": 1,"color":"#C32F4B", "label": "Line2"}
];
d3.selection(myData, function(error, data) {
...

然而,它不起作用,而不是我在控制台中看不到任何错误。

1 个答案:

答案 0 :(得分:3)

selectioncsv函数获取csv,然后使用相应的数据调用lambda。只需使用data变量中的数据调用该lambda的主体。

var data= [
  {"id":"ABC","order":1,"score":50,"weight":1,"color":"#9E0041","label": "Line1"},
  {"id":"CDE","order":2,"score":60,"weight": 1,"color":"#C32F4B", "label": "Line2"}
];

data.forEach(function(d) {
    d.id     =  d.id;
    d.order  = +d.order;
    d.color  =  d.color;
    d.weight = +d.weight;
    d.score  = +d.score;
    d.width  = +d.weight;
    d.label  =  d.label;
  });
// etc