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

标签 javascript jquery d3.js word-cloud tag-cloud

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

我们的客户希望使用标签云作为导航/发现辅助工具,但由于 d3-cloud 会在每次降低有用性时随机放置。

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

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

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

最佳答案

我们已经找到了解决方法:)

设置random返回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);

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

关于javascript - 使用种子值在刷新之间保持 d3-cloud 一致?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42941368/

相关文章:

javascript - 无法使 Adob​​e AIR Application UpdaterUI() 工作

javascript - Bxslider 在 Firefox mac 中的下一张幻灯片上空白

javascript - 相对链接和backbone.js路由器

javascript - 简单、令人恼火的 d3.js 示例

javascript - 有没有办法将 CSV 列转换为层次关系?

javascript - 正则表达式电话号码实时格式化

javascript - 在 Web-SQL 中使用变量

javascript - 在 JavaScript 函数中显示自动设置为阻止

jquery - 在 focusout() 上附加文本以形成输入元素值

javascript - 将 D3 svg 保存为高质量图像