这似乎应该很简单,但我已经花了几个小时没有任何成功。
以http://bl.ocks.org/mbostock/950642上的 D3 图示例为例。该示例使用名为 graph.json 的本地文件。我已经设置了一个 Rails 应用程序来提供类似的图表,但是我不想编写 JSON 文件。相反,我将节点和链接生成到一个对象中,例如:
{"nodes":[{"node_type":"Person","name":"Damien","id":"damien_person"}, {"node_type":"Person","name":"Grant","id":"grant_person"}}],
"links":[{"source":"damien_person","target":"grant_person","label":"Friends"}}
现在,当我渲染 D3 时,我需要更新调用d3.json("graph.json", function(json) {...});
以引用我的内存对象而不是本地文件(或 url)。但是,我尝试过的一切都破坏了我的 html/javascript。例如,我尝试设置var dataset = <%= raw(@myInMemoryObject) %>;
, 并且它适用于分配(我在数据集上做了一个警报),但是我无法让 D3 代码使用它。
如何替换 d3.json 调用以使用我的内存对象?
谢谢,
达米安