seaborn.stripplot#
- seaborn.stripplot(data=None, *, x=None, y=None, hue=None, order=None, hue_order=None, jitter=True, dodge=False, orient=None, color=None, palette=None, size=5, edgecolor=<default>, linewidth=0, hue_norm=None, log_scale=None, native_scale=False, formatter=None, legend='auto', ax=None, **kwargs)#
オーバープロットを減らすためにジッターを使用してカテゴリカル散布図を描画します。
ストリッププロットは単独で描画できますが、基礎となる分布の表現とともにすべての観測値を表示したい場合、箱ひげ図やバイオリンプロットの良い補完となります。
詳細については、チュートリアルを参照してください。
注記
デフォルトでは、この関数は変数の1つをカテゴリカルとして扱い、関連する軸上の序数位置(0、1、… n)にデータを描画します。バージョン0.13.0からは、
native_scale=True
を設定することで、これを無効にできます。- パラメータ:
- dataDataFrame、Series、dict、配列、または配列のリスト
プロットのためのデータセット。
x
とy
が存在しない場合、これはワイド形式として解釈されます。それ以外の場合は、ロング形式であることが期待されます。- x、y、hue
data
内の変数の名前またはベクトルデータ ロング形式のデータのプロットのための入力。解釈については例を参照してください。
- order、hue_order文字列のリスト
カテゴリカルレベルをプロットする順序。それ以外の場合は、データオブジェクトからレベルが推測されます。
- jitterfloat、
True
/1
は特別な場合として扱われます 適用するジッターの量(カテゴリカル軸に沿ってのみ)。多くの点が重なっている場合、分布を見やすくするために役立ちます。ジッターの量(一様ランダム変数のサポートの幅の半分)を指定するか、適切なデフォルト値として
True
を使用できます。- dodgebool
hue
変数が割り当てられている場合、これをTrue
に設定すると、カテゴリカル軸に沿って異なるhueレベルのストリップが分離され、各ストリップに割り当てられるスペースが狭くなります。それ以外の場合は、各レベルの点が同じストリップにプロットされます。- orient“v” | “h” | “x” | “y”
プロットの方向(垂直または水平)。これは通常、入力変数のタイプに基づいて推測されますが、
x
とy
の両方が数値である場合、またはワイド形式のデータのプロット時に曖昧さを解消するために使用できます。バージョンv0.13.0での変更: ‘x’/’y’をオプションとして追加しました。これは‘v’/’h’と同等です。
- colormatplotlibの色
プロットの要素の単一の色。
- paletteパレット名、リスト、または辞書
hue
変数の異なるレベルに使用する色。color_palette()
で解釈できるもの、またはhueレベルをmatplotlibの色にマッピングする辞書である必要があります。- sizefloat
マーカーの半径(ポイント単位)。
- edgecolormatplotlibの色、「gray」は特別な場合として扱われます
各点の周りの線の色。
"gray"
を渡すと、明るさは、点の本体に使用されるカラーパレットによって決まります。stripplot
はデフォルトでlinewidth=0
なので、エッジの色はゼロ以外の線幅でしか見えません。- linewidthfloat
プロット要素を囲む線の幅。
- hue_normタプルまたは
matplotlib.colors.Normalize
オブジェクト 数値である
hue
変数に適用されるカラーマップのデータ単位での正規化。hue
がカテゴリカルの場合は関係ありません。バージョンv0.12.0の新機能。
- log_scaleboolまたは数値、またはboolまたは数値のペア
軸の尺度をlogに設定します。単一の値は、プロット内の任意の数値軸のデータ軸を設定します。値のペアは、各軸を個別に設定します。数値は、目的の底(デフォルトは10)として解釈されます。
None
またはFalse
の場合、seabornは既存のAxesの尺度に従います。バージョンv0.13.0の新機能。
- native_scalebool
Trueの場合、カテゴリカル軸の数値または日付時刻値は、固定インデックスに変換されるのではなく、元のスケーリングを維持します。
バージョンv0.13.0の新機能。
- formatter呼び出し可能
カテゴリカルデータを文字列に変換するための関数。グループ化と目盛りのラベルの両方に影響します。
バージョンv0.13.0の新機能。
- legend“auto”, “brief”, “full”, または False
凡例を描画する方法。「brief」の場合、数値の
hue
およびsize
変数は、均等に間隔を空けた値のサンプルで表されます。「full」の場合、各グループに凡例のエントリが作成されます。「auto」の場合、レベルの数に基づいてbriefまたはfull表現を選択します。Falseの場合、凡例データは追加されず、凡例は描画されません。バージョンv0.13.0の新機能。
- axmatplotlib Axes
プロットを描画するAxesオブジェクト。それ以外の場合は、現在のAxesを使用します。
- kwargsキーと値のマッピング
他のキーワード引数は、
matplotlib.axes.Axes.scatter()
に渡されます。
- 戻り値:
- axmatplotlib Axes
プロットが描画されたAxesオブジェクトを返します。
参照
swarmplot
点が重ならないカテゴリカル散布図。他のプロットと組み合わせて、各観測値を表示できます。
boxplot
同様のAPIを持つ従来の箱ひげ図。
violinplot
箱ひげ図とカーネル密度推定の組み合わせ。
catplot
カテゴリカルプロットと
FacetGrid
を組み合わせます。
例
単一の数値変数を割り当てると、他の軸上にランダムに「ジッター」された点でその単変量分布が表示されます。
tips = sns.load_dataset("tips") sns.stripplot(data=tips, x="total_bill")
第2の変数を割り当てると、その変数のカテゴリレベルを比較するために、点のストリップが分割されます。
sns.stripplot(data=tips, x="total_bill", y="day")
カテゴリ変数と数値変数の割り当てを入れ替えることで、垂直方向のストリップを表示します。
sns.stripplot(data=tips, x="day", y="total_bill")
バージョン0.12より前では、カテゴリ変数のレベルはデフォルトで異なる色を持っていました。同じ効果を得るには、
hue
変数を明示的に割り当てます。sns.stripplot(data=tips, x="total_bill", y="day", hue="day", legend=False)
または、
hue
に異なる変数を割り当てて、多次元関係を示すこともできます。sns.stripplot(data=tips, x="total_bill", y="day", hue="sex")
hue
変数が数値の場合、デフォルトで定量的パレットでマッピングされます(バージョン0.12以前はそうではありませんでした)。sns.stripplot(data=tips, x="total_bill", y="day", hue="size")
palette
を使用して色のマッピングを制御し、定性的パレットの名前を渡すことでカテゴリカルマッピングを強制します。sns.stripplot(data=tips, x="total_bill", y="day", hue="size", palette="deep")
デフォルトでは、
hue
変数の異なるレベルは各ストリップで混在していますが、dodge=True
を設定すると、それらが分割されます。sns.stripplot(data=tips, x="total_bill", y="day", hue="sex", dodge=True)
jitter=False
を設定することで、ランダムジッターを無効にできます。sns.stripplot(data=tips, x="total_bill", y="day", hue="sex", dodge=True, jitter=False)
ワイドフォームモードでプロットする場合、データフレームの数値列は
x
とhue
の両方にマッピングされます。sns.stripplot(data=tips)
ワイドフォームモードで向きを変更するには、
orient
を明示的に渡します。sns.stripplot(data=tips, orient="h")
orient
パラメータは、両方の軸変数が数値の場合にも役立ちます。これは、どの次元をグループ化(およびジッター)するかについての曖昧さを解消するためです。sns.stripplot(data=tips, x="total_bill", y="size", orient="h")
デフォルトでは、カテゴリ変数は数値であっても、固定スケール(0, 1, …)を持つ離散インデックスにマッピングされます。
sns.stripplot( data=tips.query("size in [2, 3, 5]"), x="total_bill", y="size", orient="h", )
この動作を無効にして変数の元のスケールを使用するには、
native_scale=True
を設定します。sns.stripplot( data=tips.query("size in [2, 3, 5]"), x="total_bill", y="size", orient="h", native_scale=True, )
matplotlib.axes.Axes.scatter()
のキーワード引数を渡すことで、さらなる視覚的なカスタマイズを実現できます。sns.stripplot( data=tips, x="total_bill", y="day", hue="time", jitter=False, s=20, marker="D", linewidth=1, alpha=.1, )
複数のファセットを持つプロットを作成するには、
catplot()
を直接FacetGrid
で操作するよりも、catplot()
を使用する方が安全です。catplot()
は、各ファセットでカテゴリ変数とhue変数が適切に同期されるようにするためです。sns.catplot(data=tips, x="time", y="total_bill", hue="sex", col="day", aspect=.5)