グラフ描画ライブラリSeabornを使ってみよう【Python】

SeabornはPythonで使える統計的グラフを作成するためのライブラリです。matplotlibに基づいていて、より美しく、より洗練されたグラフを簡単に作成することができます。ここではSeabornの基本的な使い方をいくつか紹介します。

Seabornのインストール

まずはSeabornをインストールする必要があります。pipを使ってインストールしましょう。

pip install seaborn

とりあえずグラフ描画してみる

Seabornの公式チュートリアルに従い、デモ用のデータを用いてグラフを描画してみます。

# seabornのインポート
import seaborn as sns

# デフォルトのテーマ適応
sns.set_theme()

# デモ用のデータをロード
tips = sns.load_dataset("tips")

# データを可視化する
sns.relplot(
    data=tips,
    x="total_bill", y="tip", col="time",
    hue="smoker", style="smoker", size="size",
)

すると以下のようなグラフが生成されるはずです。

Seabornによるデータの可視化

それでは各部分について詳しく解説します。

Seabornのインポート

import seaborn as sns

最初に、Seabornライブラリをsnsというエイリアスでインポートしています。これにより、「sns」を使用して簡単にSeabornの機能にアクセスできます。

デフォルトのテーマ適応

sns.set_theme()

sns.set_theme()は、グラフにデフォルトのテーマを適用します。これにより、グラフの見た目(フォントサイズ、色など)をを良くすることができます。

デモ用のデータをロード

tips = sns.load_dataset("tips")

sns.load_dataset("tips")は、Seabornに組み込まれているtipsデータセットをロードします。このデータセットはPandas型のデータで、レストランのチップに関する情報(食事の合計額、チップの額、喫煙者かどうか、訪問時刻)が含まれています。

データの可視化

sns.relplot(
    data=tips,
    x="total_bill", y="tip", col="time",
    hue="smoker", style="smoker", size="size",
)

sns.relplot()は、関係性を表すプロット(ここでは散布図)を作成する関数です。この関数により、データセット内の複数の変数間の関係を一度に可視化することができます。

  • data=tipsでは、使用するデータセットを指定しています。
  • x="total_bill", y="tip"で、x軸にtotal_bill(食事の合計額)、y軸にtip(チップの額)をそれぞれ設定しています。
  • col="time"により、データをtime(昼か夜か)に基づいて列方向に分割して表示します。これにより、昼と夜でのデータの分布を比較することができます。
  • hue="smoker"は、データポイントの色をsmoker(喫煙者かどうか)の値に基づいて変更します。これにより、喫煙者と非喫煙者のデータポイントを色分けして表示します。
  • style="smoker"により、喫煙者と非喫煙者のデータポイントに異なるマーカースタイルを適用します。
  • size="size"は、データポイントのサイズをsize(テーブルのサイズ)に基づいて調整します。これにより、テーブルの大きさをデータポイントのサイズで表現します。

このコードによって、tipsデータセットの複数の変数間の関係性を可視化するグラフが作成されます。

上部へスクロール