0

通常の単語/タグ クラウドのようにランダムに配置するのではなく、y 軸がデータ変数によって制御される d3.js を使用して、単語/タグ クラウドを作成しようとしています。したがって、テキストが x 軸のどこに配置されるかは気にしませんが、y 軸のどこにあるのかを制御したいのです。

私のアプローチは、次のように x 属性関数を使用して、データの各部分にテキスト要素を追加することでした。

.attr("x", function(d,i) {
    loop 10 times
        generate random x
        loop through previous added element <i to check for collision
        no collision exit loop
    if (collision) set x to somewhere off the image

追加が完了するまで、以前の要素のいずれにもアクセスできないように見えるため、このメソッドは失敗します。

これを行うためのより良い方法、または追加中に要素にアクセスする方法についての提案はありますか?

4

1 に答える 1

0

ここに、Jason Daviesによる優れたワードクラウドの実装があります。これには、作成したいほとんどすべてのカスタマイズが含まれています:http://www.jasondavies.com/wordcloud/#http%3A%2F%2Fsearch.twitter.com%2Fsearch。 json%3Frpp%3D100%26q%3D%7Bword%7D = cloud

于 2012-09-13T12:43:20.943 に答える