私はユーザーがy軸に沿っていくつかの点をドラッグできるd3チャートを持っています。ドラッグ時にd3でデータが正しく渡されるようにするにはどうすればよいですか?
私がしようとしているのは、元のデータ配列を更新して、そのチャートに表示されている任意の値に対するユーザーの更新された選択肢を含めることです。ここ
は、ドラッグ機能である:
function dragged(e) {
let yLocation = d3.event.y;
let index;
for (index = 0; index < data.length && data[ index ][ 'x' ] !== e.x; index++) {
}
data[ index ][ 'y' ] = (y.invert(d3.mouse(this)[ 1 ]));
d3.select(this).select("circle")
.attr("cy", e.y = yLocation);
update(data);
}
配列内の値を更新しようとしたときに私の問題がある:
data[ index ][ 'y' ] = (y.invert(d3.mouse(this)[ 1 ]));
私がしようと(y.invert(d3.mouse(this)[ 1 ]))
をログインした場合、正しい値(値対応しますマウスの位置まで)が表示されますが、データ配列を記録しようとすると、オブジェクトはその位置に対応する値の代わりにマウスの位置で更新されます。
オブジェクトの配列を更新する前に、値を制御することを約束しますか?または、より良い解決策がありますか? ありがとうございます。
あなた先生、伝説です! :) ありがとうございました! – abedzantout