Python SeabornのFacetGridを使ってデータを可視化する方法を解説
barplot(棒グラフ)関数は、カテゴリ変数と連続変数の間の関係を表現します。データは長方形のバーの形式で表示され、バーの長さはその特定のカテゴリにおけるデータの割合を示します。
点プロット(pointplot)は棒グラフとよく似ていますが、塗りつぶしたバーの代わりに、データポイントの推定値がもう一方の軸上の特定の高さにある点として表現される点が異なります。
カテゴリカルデータは、カテゴリ散布図やpointplotなどの個別のプロット、あるいはfactorplotと呼ばれるより高レベルな関数を使って可視化できます。factorplot関数は、パラメータ「kind」を指定することで、FacetGrid上にカテゴリプロットを描画します。
ここでは「kind」パラメータの値として「violin」を指定します。なお、FacetGridはデフォルトで「pointplot」関数を使用します。
それでは、factorplotを使ってバイオリンプロットを作成する方法を見ていきましょう。
FacetGridとは?
FacetGridはパネルの行列(マトリックス)であり、すべての変数を行と列に分割することで定義されます。このパネル構造により、1つのプロットがあたかも多数のプロットであるかのように表示されます。
FacetGridは、2つの離散変数のさまざまな組み合わせを網羅的に分析したい場合に非常に便利です。以下に具体例を示します。
サンプルコード
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
my_df = sb.load_dataset('exercise')
sb.factorplot(x = "time", y = "pulse", hue = "kind", kind = 'violin', col = "diet", data = my_df);
plt.show()
出力結果

コードの解説
- 必要なパッケージ(pandas、seaborn、matplotlib)をインポートします。
- 入力データは「exercise」データセットで、seabornライブラリから「load_dataset」関数を使って読み込まれます。
- 読み込んだデータはデータフレーム「my_df」に格納されます。
- このデータを「factorplot」関数を使って可視化します。
- x軸に「time」(時間)、y軸に「pulse」(脈拍)を指定し、「hue」パラメータで「kind」(運動の種類)ごとに色分けしています。
- 「kind」パラメータには「violin」を指定しているため、バイオリンプロットが描画されます。
- さらに「col」パラメータで「diet」(食事の種類)を指定することで、食事タイプ別にプロットが列方向へ分割されて表示されます。
- 最後にplt.show()を実行すると、作成したグラフが画面に表示されます。
なお、比較的新しいバージョンのseabornでは、factorplotは非推奨(deprecated)となっており、代わりにcatplot関数の使用が推奨されています。catplotも同様にFacetGridを基盤としているため、同じ引数を渡すことでほぼ同じ結果を得ることができます。
-
PythonのSeabornライブラリでヒストグラムを表示する方法をわかりやすく解説
データ可視化の重要性 データ分析において、可視化は非常に重要なステップです。生の数値を一つずつ確認したり、複雑な計算を実行したりしなくても、グラフを見るだけでデータ全体の傾向や分布を直感的に把握できます。さらに、分析で得られた定量的な知見を、聴衆やチームメンバーに対して効果的に伝える手段としても活用できます。 Seabornとは Seabornは、Pythonでデータ可視化を行うためのライブラリの一つです。Matplotlibをベースにしており、洗練されたカスタムテーマと高水準なインターフェースを備えているのが特徴です。少ないコード量で美しい統計グラフを作成できるため、データサイエンスの分野
-
PythonとSeabornを使って散布図を表示する方法をわかりやすく解説
データ分析において可視化(ビジュアライゼーション)は非常に重要なステップです。数値を一つひとつ確認したり複雑な計算を行ったりしなくても、データに何が起きているのかを直感的に把握できるからです。その可視化を手軽に実現できるライブラリの一つが、Pythonの「Seaborn」です。 散布図(scatter plot)とは、データポイントをグラフ上に点として散りばめて分布を表現するグラフのことです。数値データの値をドットで表し、横軸・縦軸上の各ドットの位置が、それぞれのデータポイントの値を示します。散布図を使うことで、2つの変数間の関係性(相関)を視覚的に理解することができます。 ここでは、Sea