gpt4 book ai didi

javascript - 如何保存调整后的 d3.js 可视化?

转载 作者:行者123 更新时间:2023-11-28 06:25:33 25 4
gpt4 key购买 nike

我是一名菜鸟,一直在复制和更改 d3.js 脚本以进行实践学习。我复制了robschmuecker’s(区 block #7880033,2013年12月9日)D3.js 拖放、可缩放、平移、具有自动调整大小功能的可折叠树 http://bl.ocks.org/robschmuecker/7880033

并且想知道:a) 重新排列树后如何保存它?b) 重新排列后是否可以保存为不同的文件(原始为版本1,重新排列后为版本2)c) 如何使其还保存新的 .json 文件并重新排列父子项?(认为​​它们可能都是同一个问题。)

任何帮助或建议都会将我推向正确的方向。谢谢...

最佳答案

在代码中你有根变量。它表示具有附加字段的实际树结构,例如:“x”,“x0”,“y”,“y0”,“id”...要摆脱这些附加字段,您可以使用此函数:

var delAdditionalFilds = function(obj) {

for (var prop in obj) {
if (obj.hasOwnProperty(prop)) {
if (prop === 'name' || prop === 'children' || prop === 'size') {} else {
delete obj[prop];
}
}
}
if (obj.children) {
obj.children.forEach(function(v, i) {
delAdditionalFilds(v);
});
}

};

为了避免覆盖原始对象,您应该对根变量进行深层复制。我使用 lodash 库来做到这一点。

所以,保存功能将1) 准备根对象的深拷贝,然后 2) 删除附加字段

var save = function(root) {
var newJSON = _.copy(root);
delAdditionalFilds(newJSON);
// now you can send newJSON to your server
};

执行此操作后,您将准备好使用 ajax 调用将 JSON 对象发送到服务器

关于javascript - 如何保存调整后的 d3.js 可视化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35158292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com