こちらのサイト(Thinking with Joins)を参考に、D3.jsの enter、update、exit の使い方をまとめました。 1.enter、update、exit の各役割を簡単にまとめると enter 新しく生成した要素を扱います。 例えば、新しくdiv要素を生成した場合、div要素へ更新内容を反映します。 なので、新しく生成した要素に enter を使用しない場合、更新が反映されないのでブラウザに更新内容が表示されません。 update 既存の要素を扱います。 例えば、既存のdiv要素になんらかの変更を行った場合、div要素へ更新内容を反映します。 exit 既存の余分な要素を扱います。 例えば、div1、div2、div3 という要素があり、 div1、div2のみ更新しdiv3は必要ない場合は、何もしないとdiv3も残り続けるので、exit().remove();