通常の単語/タグ クラウドのようにランダムに配置するのではなく、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
追加が完了するまで、以前の要素のいずれにもアクセスできないように見えるため、このメソッドは失敗します。
これを行うためのより良い方法、または追加中に要素にアクセスする方法についての提案はありますか?