2

ポイントをプロットしてジッターを追加しようとしています。ポイントにはテキスト ラベルが付いているので、ジッターしたポイントの位置を計算したら、それを保存してテキスト ラベルに使用したいと思います。各ポイントに新しいジッター属性を追加し、それを使用して cx (ポイント) と x (ラベル) を設定することを考えていました。

# compute the jittered positions
points.attr("x_jitter", function (d){
    return x_scale(d.x) + my_random_jitter_function()
});    
# set them to the points and the labels
points.attr("cx", function (d, i){
    return points.attr("x_jitter")
});
text_labels.attr("x", function(d, i){
    return points.attr("x_jitter")
});

より良い方法はありますか?

4

1 に答える 1

3

私はただするだろう

points.each(function(d,i) {
  d.jitter = xscale(d.x) + random_jitter();
})
points.attr("cx", function(d,i) { return d.jitter });
text_labels.attr("x", function(d,i) { return d.jitter });
于 2013-06-13T18:48:21.863 に答える