使用种子值在刷新之间保持 d3-cloud 一致?

Keep d3-cloud consistent between refreshes with a seed value?

有没有办法将种子值传递给 d3-cloud 或另一个基于 javascript 的标签云,以使其在页面加载之间保持一致?

我们的客户希望使用标签云作为 navigation/discovery 辅助工具,但由于 d3-cloud 每次降低其实用性时都会随机化放置。

有没有办法传递种子值或修改云以在输入相同时保持它看起来相同?我不需要轮换,并且名称和大小(在大多数情况下)将是恒定的和预先确定的。

我可以将它的表示保存到本地存储,但是当珍妮在她的平板电脑上查看它或去帮助简时,它不会保持一致

任何人都可以就如何创建持久状态词云提出任何建议吗?

我们找到了修复方法:)

将随机设置为 return 1 以不随机化单词的初始位置

var layout = cloud()
    .size([1500, 475])
    .words(sitesList.map(function(d) {
      return {text: d, size: 10, test: "haha"};
    }))
    .padding(5)
    .rotate(function() { return ~~(Math.random() * 1) * 90; })
    .font("Impact")
    .fontSize(function(d) { return d.size; })
    .random(function(d) { return 1; })
    .on("end", draw);

编辑:经过进一步实验,return 0.5 看起来更好,这似乎将单词集中在中间。较高的数字似乎将其推到右下角