seaborn.pointplot#
- seaborn.pointplot(data=None, *, x=None, y=None, hue=None, order=None, hue_order=None, estimator='mean', errorbar=('ci', 95), n_boot=1000, seed=None, units=None, weights=None, color=None, palette=None, hue_norm=None, markers=<default>, linestyles=<default>, dodge=False, log_scale=None, native_scale=False, orient=None, capsize=0, formatter=None, legend='auto', err_kws=None, ci=<deprecated>, errwidth=<deprecated>, join=<deprecated>, scale=<deprecated>, ax=None, **kwargs)#
点推定とエラーを、マーカー付きの線で表示します。
ポイントプロットは、数値変数の代表値の推定値を点の位置で表し、エラーバーを使用してその推定値の周りの不確実性を示します。
ポイントプロットは、1つまたは複数のカテゴリ変数の異なるレベル間の比較に焦点を当てる場合、棒グラフよりも役立つことがあります。特に、相互作用、つまり1つのカテゴリ変数のレベル間の関係が2番目のカテゴリ変数のレベル全体でどのように変化するかを示すのに優れています。同じ
hue
レベルからの各点を結ぶ線により、傾きの違いによって相互作用を判断できます。これは、いくつかのグループの点または棒の高さを比較するよりも、視覚的に理解しやすくなります。詳細はチュートリアルを参照してください。
注記
デフォルトでは、この関数は変数の1つをカテゴリ変数として扱い、関連する軸上の序数位置(0、1、… n)にデータを描画します。バージョン0.13.0以降、
native_scale=True
を設定することで、これを無効にすることができます。- パラメータ:
- dataDataFrame、Series、dict、array、またはarrayのリスト
プロットするデータセット。
x
とy
が存在しない場合、これはワイド形式として解釈されます。そうでない場合は、ロング形式であると想定されます。- **x, y, hue
data
内の変数名またはベクトルデータ ロング形式のデータのプロット入力。解釈については例を参照してください。
- order, hue_order文字列のリスト
カテゴリレベルをプロットする順序。そうでない場合は、レベルはデータオブジェクトから推測されます。
- **estimatorベクトル->スカラーをマップする文字列または呼び出し可能オブジェクト
各カテゴリビン内で推定する統計関数。
- **errorbar文字列、(文字列、数値)タプル、呼び出し可能オブジェクト、またはNone
エラーバーメソッドの名前("ci"、 "pi"、 "se"、または "sd")、メソッド名とレベルパラメータを含むタプル、ベクトルから(最小、最大)間隔にマップする関数、またはエラーバーを非表示にする場合はNone。詳細は、エラーバーのチュートリアルを参照してください。
バージョンv0.12.0の新機能。
- n_bootint
信頼区間を計算するために使用されるブートストラップサンプルの数。
- **seedint、
numpy.random.Generator
、またはnumpy.random.RandomState
再現可能なブートストラップのためのシードまたは乱数ジェネレータ。
- units
data
内の変数名またはベクトルデータ サンプリング単位の識別子。エラーバー関数によって使用され、多レベルブートストラップを実行し、反復測定を考慮します。
- **weights
data
内の変数名またはベクトルデータ 重み付き統計を計算するために使用されるデータ値または列。重みを使用すると、他の統計オプションが制限される場合があることに注意してください。
バージョンv0.13.1の新機能。
- colormatplotlibの色
プロット内の要素の単一の色。
- paletteパレット名、リスト、またはdict
hue
変数の異なるレベルに使用する色。color_palette()
によって解釈できるもの、または色相レベルをmatplotlibの色にマッピングする辞書である必要があります。- **markers文字列または文字列のリスト
各
hue
レベルに使用するマーカー。- **linestyles文字列または文字列のリスト
各
hue
レベルに使用する線のスタイル。- dodgeboolまたはfloat
hue
変数の各レベルの点をカテゴリ軸に沿って分離する量。True
に設定すると、小さなデフォルトが適用されます。- log_scaleboolまたは数値、またはboolまたは数値のペア
軸のスケールを対数に設定します。単一の値を指定すると、プロット内の数値軸のデータ軸が設定されます。値のペアを指定すると、各軸が個別に設定されます。数値は、目的の底(デフォルトは10)として解釈されます。
None
またはFalse
の場合、seaborn は既存の軸スケールを優先します。バージョン v0.13.0 で追加されました。
- native_scalebool
True の場合、カテゴリ軸の数値または日付時刻値は、固定インデックスに変換されるのではなく、元のスケールを維持します。
バージョン v0.13.0 で追加されました。
- orient“v” | “h” | “x” | “y”
プロットの向き(垂直または水平)。これは通常、入力変数の型に基づいて推測されますが、
x
とy
の両方が数値の場合、またはワイドフォームデータをプロットする場合に、あいまいさを解消するために使用できます。バージョン v0.13.0 で変更: オプションとして 'x'/'y' が追加されました。'v'/'h' と同等です。
- capsizefloat
エラーバーの「キャップ」の幅(バーの間隔に対する相対値)。
- formattercallable
カテゴリデータを文字列に変換する関数。グループ化と目盛りラベルの両方に影響します。
バージョン v0.13.0 で追加されました。
- legend“auto”, “brief”, “full”, or False
凡例の描画方法。「brief」の場合、数値の
hue
およびsize
変数は、等間隔の値のサンプルで表されます。「full」の場合、すべてのグループが凡例にエントリを取得します。「auto」の場合、レベルの数に基づいて brief または full 表現を選択します。False
の場合、凡例データは追加されず、凡例は描画されません。バージョン v0.13.0 で追加されました。
- err_kwsdict
エラーバーのアーティストのための
matplotlib.lines.Line2D
のパラメータ。バージョン v0.13.0 で追加されました。
- cifloat
表示する信頼区間のレベル(0〜100)。
バージョン v0.12.0 以降非推奨:
errorbar=("ci", ...)
を使用してください。- errwidthfloat
エラーバーの線の太さ(およびキャップ)をポイント単位で指定します。
バージョン 0.13.0 以降非推奨:
err_kws={'linewidth': ...}
を使用してください。- joinbool
True
の場合、点の推定値を線で接続します。バージョン v0.13.0 以降非推奨: 点間の線を削除するには、
linestyle="none"
を設定します。- scalefloat
プロット要素のスケール係数。
バージョン v0.13.0 以降非推奨: 要素のサイズは
matplotlib.lines.Line2D
パラメータで制御します。- axmatplotlib Axes
プロットを描画する Axes オブジェクト。指定しない場合は、現在の Axes を使用します。
- kwargskey, value mappings
その他のパラメータは
matplotlib.lines.Line2D
に渡されます。バージョン v0.13.0 で追加されました。
- 戻り値:
- axmatplotlib Axes
プロットが描画された Axes オブジェクトを返します。
注記
点プロットは平均値(または他の推定値)のみを表示しますが、多くの場合、カテゴリ変数の各レベルでの値の分布を表示する方が有益であることに注意することが重要です。その場合は、箱ひげ図やバイオリンプロットなど、他のアプローチの方が適切な場合があります。
例
カテゴリ変数でグループ化し、集計値を信頼区間付きでプロットします。
sns.pointplot(data=penguins, x="island", y="body_mass_g")
2 番目のグループ化レイヤーを追加し、色で区別します。
sns.pointplot(data=penguins, x="island", y="body_mass_g", hue="sex")
アクセシビリティを向上させるために、マーカーとラインスタイルを使用して
hue
変数を冗長にコード化します。sns.pointplot( data=penguins, x="island", y="body_mass_g", hue="sex", markers=["o", "s"], linestyles=["-", "--"], )
エラーバーを使用して、各分布の標準偏差を表します。
sns.pointplot(data=penguins, x="island", y="body_mass_g", errorbar="sd")
プロットの外観をカスタマイズします。
sns.pointplot( data=penguins, x="body_mass_g", y="island", errorbar=("pi", 100), capsize=.4, color=".5", linestyle="none", marker="D", )
カテゴリ軸に沿ってアーティストを「ドッジ」して、オーバープロットを減らします。
sns.pointplot(data=penguins, x="sex", y="bill_depth_mm", hue="species", dodge=True)
各レベルに割り当てられた幅に対して、特定の量だけドッジします。
sns.stripplot( data=penguins, x="species", y="bill_depth_mm", hue="sex", dodge=True, alpha=.2, legend=False, ) sns.pointplot( data=penguins, x="species", y="bill_depth_mm", hue="sex", dodge=.4, linestyle="none", errorbar=None, marker="_", markersize=20, markeredgewidth=3, )
変数が明示的に割り当てられておらず、データセットが 2 次元の場合、プロットは各列で集計されます。
flights_wide = flights.pivot(index="year", columns="month", values="passengers") sns.pointplot(flights_wide)
1 次元データの場合、各値がプロットされます(キーまたはインデックスが使用可能な場合は、それらに対して相対的に)。
sns.pointplot(flights_wide["Jun"])
目盛りラベルに表示されるカテゴリ変数の書式設定を制御します。
sns.pointplot(flights_wide["Jun"], formatter=lambda x: f"'{x % 1900}")
または、グループ化変数のネイティブスケールを保持します。
ax = sns.pointplot(flights_wide["Jun"], native_scale=True) ax.plot(1955, 335, marker="*", color="r", markersize=10)