使用种子值在刷新之间保持 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 看起来更好,这似乎将单词集中在中间。较高的数字似乎将其推到右下角
有没有办法将种子值传递给 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 看起来更好,这似乎将单词集中在中间。较高的数字似乎将其推到右下角