Pythonでビースウォーム(beeswarm)プロットを使ってみる
TL;DR
統計要約量とかを特に考慮せずに、ただデータを概観したいということがあります。データの分布を概観するときには、ビースウォームプロットが便利です。seabornを使うことでPythonでもビースウォームプロットを簡単に使えます。
また、ビースウォームプロットは、ヴァイオリンプロットなどと同時に使うことで、データの分布と統計要約量をスマートに表現できます。
Rについては、このサイトで解説されているので参照してください。また、公式Docsもわかりやすいのでおすすめです。
準備
seabornのインストール
データのロード
このtipsデータセット、公式が提供しているだけあって非常にseabornのデモに向います。sklearnのなんかで置き換えようかと思ったのですが、tipsが強すぎました。
基本のプロット
出力

hueで分離
seabornの他のグラフと同様、hueを使うことで色分けできます。また、dodge引数を使えば、グラフ内で混在させるか分けて表示するかを選択できます。
出力

violinplotと合わせて表示する
他のプロットとあわせるとデータサイエンスしてる感が出てきます。 ヴァイオリンプロットを使います。また、こういう時に同様の用途で使われるstripplotと比較してみます。
出力

なんとなく分布感まで見られるbeeswarm plotのほうが見やすい感じを受けます。数が多すぎると表示しきれなくなるのが難点です。この辺は表現したいデータによっても変わりそうで難しいところですが、beeswarm plotも選択肢としては有力です。