2017-03-22 38 views
1

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

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

如果输入相同,有没有办法传递种子值或修改云以保持它看起来相同?我不需要旋转,名称和大小(大部分时间)都是恒定的和预先确定的。

我能够挽救它的一个表示,以localStorage的,但是当珍妮看着在她的平板电脑或去帮助珍也不会是一致

谁能让我如何可以创建一个持久状态的任何建议文字云?

回答

1

我们已经找到了解决:)

组随机返回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,这似乎将中心中的单词分组。更高的数字似乎将其推到右下角