如何为D3子弹图表内联数据

时间:2015-06-22 09:53:49

标签: javascript json d3.js

在示例

中的行中
d3.json("bullets.json", function(data) {

它从本地文件中提取json数据,并将其作为要执行的数据传递给回调。 我怎样才能改变这一点,以便我之前定义的var是数据源,因为在js中似乎没有接受预先形成的数据对象的方法?

原因?应用程序中的嵌入式Web查看器,可以动态创建要呈现的html,但无法访问本地文件系统。

EDIT 让我更具体一点..如何将这个数据集输入到从数据生成子弹图的代码中(当它作为外部文件存储时)? 它不能只是去d3.select(等等,因为需要创建sag对象来挂起标题

var dataset = {"title":"Sales","subtitle":"£, 000","ranges":[50,200,400],"measures":[100,500],"markers":[250]};

d3.json("bullets.json", function(data) {
 var svg = d3.select("body").selectAll("svg")
  .data(data)
  .enter().append("svg")

1 个答案:

答案 0 :(得分:2)

由于您不需要从外部源检索数据,您只需将包含数据的变量包含在您尝试绘制的元素的声明中,类似于下面的一堆矩形:

d3.selectAll('rect')
  .data([VariableHere]) //no need for [] if the variable already an array
  .enter()
  .append('rect')
  .... etc.

希望这有帮助!