Seaborn FacetGridを使ってデータフレームからエラーバーをプロットする方法
Seaborn の FacetGrid を使うと、データフレームの値に基づいて複数のパネル(ファセット)に分割し、それぞれにエラーバー付きのグラフを描画できます。ここでは、Matplotlib と組み合わせてエラーバーをプロットする基本的な手順を紹介します。
実装の手順
- データフレームの作成: pandas の DataFrame など、2次元でサイズ変更可能な表形式データを用意します。
- FacetGrid の生成: 条件付き関係を可視化するためのマルチプロットグリッドを作成します。
- プロット関数の適用:
map()メソッドを使い、各ファセットのデータサブセットにプロット関数を適用します。 - 図の表示:
plt.show()メソッドで完成した図を表示します。
コード例
import pandas as pd
import seaborn as sns
from matplotlib import pyplot as plt
df = pd.DataFrame({'col1': [3.0, 7.0, 8.0],
'col2': [1.0, 4.0, 3.0]})
g = sns.FacetGrid(df, col="col1", hue="col1")
g.map(plt.errorbar, "col1", "col2", yerr=0.75, fmt='o')
plt.show()
コードの解説
まず、pandas.DataFrame でサンプルデータを作成します。この例では col1 と col2 の2列を持つシンプルなデータを用意しています。
次に、sns.FacetGrid() にデータフレームを渡し、col="col1" を指定することで、col1 の値ごとに列方向へファセットを分割します。同時に hue="col1" を設定すると、各ファセットが色分けされ、視認性が向上します。
続いて、g.map(plt.errorbar, ...) によって、各ファセットのデータサブセットに対して Matplotlib の errorbar 関数が適用されます。引数 yerr=0.75 は y 軸方向の誤差幅を表し、fmt='o' はデータ点を丸いマーカーで表示することを意味します。
最後に plt.show() を呼び出すことで、エラーバー付きの複数パネルからなる図が画面に表示されます。この手法を使えば、カテゴリごとのばらつきや不確かさを含むデータを、ひとつの図の中で効率的に比較・可視化できます。
-
MatplotlibとSeabornでヒートマップを正方形に表示する方法
SeabornのFacetGridでヒートマップを正方形に表示したい場合、heatmap()メソッドを使って10×10のランダムデータセットを可視化するのが簡単な方法です。この記事では、その具体的な手順とサンプルコードを紹介します。実行手順最小値-1、最大値10の範囲で、サイズ10×10のランダムデータを作成します。heatmap()メソッドにデータとカラーマップ「twilight_r」を指定し、矩形データを色分けされた行列としてプロットします。図を表示するには、show()メソッドを使用します。サンプルコードimport numpy as np import seaborn as sn im
-
MatplotlibでiPythonノートブックの図をファイルとして保存する方法
iPythonノートブック上で作成した図(グラフ)を画像ファイルとして保存したい場合、Matplotlibの機能を使えば簡単に実現できます。ここでは、基本的な手順とサンプルコードを紹介します。 図をファイルに保存する手順 iPythonから図をファイルとして保存するには、以下の手順を実行します。 plt.figure() で新しい図を作成するか、既存の図をアクティブにします。 add_axes() メソッドを使って、図に axes(座標軸)を追加します。 プロットしたいデータ(リストなど)を plot() で描画します。 savefig() メソッドを使って、図をファイルとして保存します。