如何选择要在 D3 力定向图中使用的 JSON 文件

How to choose which JSON file to use in your D3 force directed graph

我有一个力定向图,当它运行时,我希望能够更改读取的 JSON 文件,从而更改 data/force 定向图。

我可以通过更改文件名在 HTML 中更改它,但我希望异步执行此操作。

我看过 AJAXXHR (XMLHttpRequest) 但我不知道从哪里开始

如评论中所述,这是一个宽泛的问题,因此这里有一个宽泛的答案:如果您使用的是 d3.json,那么您可能会看到类似这样的内容:

d3.json("graphdata1.json", createMyGraph);

您可以改为使用字符串变量来引用文件名并根据需要修改它:

var graphFilename = "defaultGraph.json";
// Some kind of logic gets a different filename from a selector resulting in something like
graphFilename = "newGraphData.json";

d3.json(graphFilename, createMyGraph);

如果您想将绘制的图形转换为另一个图形,这是一个更复杂的过程(和一个不同的问题),涉及 .enter().exit() 以及更新行为。