Python

Python:可視化(カテゴリごとに散布図を並べる)

スポンサーリンク

はじめに

前回に引き続きseabornで描画をしていきます。今回は、カテゴリごとに散布図比較する際に、威力を発揮する方法をご紹介します。seabornを使うと明示的にサブプロットを作成しなくても、引数の設定をするだけで、簡単にカテゴリごとに並べてプロットすることができます。

サンプルデータの準備

今回も前回と同じデータを扱います。 seabornに準備されている学習用のデータセットであるtipsデータセットを用意しましょう。

tips=sns.load_dataset('tips')
tips.head()

データセットについて、各項目の意味が解説されているものがないか探してみたのですが、見つけることができませんでした。ただ、大体類推できますね。わかりにくいものは、どんな値を取るのか、少しデータをみてみました。

  • total_bill:総支払額
  • tip:チップの額
  • sex:性別
  • smoker:喫煙者か否か
  • day:曜日(木・金・土・日)
  • time:レストランを利用した時間帯(Lunch/Dinnerの2種類しかない)
  • size:これはよくわかりませんでしたが1~6までの整数値をとるようです

カテゴリごとに散布図を並べる

前回、横軸をtotal_bill、縦軸をtipsとして、sexで色分けしたグラフを描きました。今回はさらにカテゴリ変数であるtimeによって散布図をわけてプロットしてみましょう。

sns.set()
sns.relplot('total_bill','tip',data=tips,hue='sex',col='time')

どうでしょうか?引数colにカテゴリ変数であるtimeを指定下だけで、このようにカテゴリでわけた散布図を簡単に作成できます。さて、大体予想がつくとは思いますが、colではなくrowという引数を使うと、グラフを縦に並べて比較することができます。

sns.relplot('total_bill','tip',data=tips,hue='sex',row='time',height=3, aspect=3)

 

スポンサーリンク

まとめ

いかがでしょうか?こんなに簡単にグラフを並べたプロットができると、これまで、頑張ってsubplotsしてたのはなんだったんだろう?って気にもなりますね。seabornは「簡単に」きれいなグラフが描けて、比較がしやすくなっています。積極的に使っていきましょう。

コメント

タイトルとURLをコピーしました