有没有办法将种子值传递给d3-cloud或其他基于javascript的标签云,以便在页面加载之间保持一致?
我们的客户希望使用标签云作为导航/发现辅助工具,但由于d3-cloud每次降低其有用性时都会随机化放置。
如果输入相同,是否有办法传递种子值或修改云以使其看起来相同?我不需要轮换,名称和大小将(大部分时间)恒定和预定。
我可以将它的表示保存到localstorage但是当Jenny在她的平板电脑上查看它或者去帮助Jane时它会不一致
任何人都可以就如何创建持久状态词云提出任何建议吗?
答案 0 :(得分:3)
我们找到了一个修复:)
设置随机返回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,这似乎是将中心的单词组合在一起。较高的数字似乎将其推到右下角