私が取り組んでいることについてはmy codepenを参照してください。D3.jsは、クリック時にDOM要素テキストを更新します。
私は(左上)の伝説をクリックすると、私は現在C3.js
で作られたグラフの下に表示するデータセットをしたいと思い、データはあなたp
要素をDOMに追加されます任意の凡例項目をクリックします。問題は、これらの要素のテキストがクリアされず、別の凡例項目をクリックしたときに更新されないことです。これを達成したコードは、行55-61
.on('click', function (id) {
chart.data(id)[0].values.map(obj => console.log(obj.value))
d3.select('#values').selectAll("p")
.data(chart.data(id)[0].values)
.enter()
.append('p')
.text(function(d) { return d.value })
です私は伝説のアイテムをクリックしたとき、どのように私はD3が#values
と新しいデータで更新中の値をクリアすることができますか?私はd3が値を自動的に更新することを期待していましたが、クリックされた最初のデータセットのみが表示されます。
ありがとうございました。私は '.remove()'を使うことができるので、クラスでこれらの値を対象とすることは意味があります。私は '.remove()'と似たようなことをしていましたが、問題がありました。 –
上記の私の説明を読んでください。なぜなら、あなたが持っていたものがなぜ機能しなかったのかを理解するのに役立つからです。乾杯! – deweyredman
あなたの説明は非常に明確です。 'enter()'の振る舞いは今やもっと意味をなさないでしょう。私はd3に少し新しくなっていますが、あなたの説明は本当に私の混乱の多くをクリアしました。ありがとうございました :)。 –