是否有方法将种子值传递给d3云或另一个基于javascript的标记云,以便在页面加载之间保持其一致性?
我们的客户希望使用标记云作为导航/发现的辅助工具,但是由于d3云的随机性,每次它的有用性都会降低。
如果输入相同,是否有方法传递种子值或修改云以保持其外观不变?我不需要轮换和名称和大小将(在大多数情况下)不变和预定。
我可以把它的表示法保存到本地存储,但是当珍妮在她的平板电脑上看到它或者去帮助简时,它就不一致了。
有人能对我如何创建持久化状态词云提出建议吗?
发布于 2017-03-28 23:14:24
我们找到了一个解决办法:)
将随机设置为返回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看上去更好,这似乎是将中间的单词分组。更高的数字似乎把它推到右下角。
https://stackoverflow.com/questions/42941368
复制相似问题