超詳細なシーボーンプロット-(4)ストリッププロット



Super Detailed Seaborn Plot Stripplot



Stripplotは、seabornの散布図です。散布図は概念自体で言うことはあまりないので、トピックに直接行きましょう。

目次

最初に最も単純な散布図を描きましょう



tips = sns.load_dataset('tips') sns.stripplot(x=tips['total_bill'])

画像


カテゴリ変数で棒グラフをグループ化する



sns.stripplot(x='day', y='total_bill', data=tips)

画像


2つのカテゴリ変数

sns.stripplot(x='day', y='total_bill', hue='smoker',data=tips)

画像



混ぜ合わせるのは特に効果的ではないようです。前述の回避により、3番目のカテゴリ変数を分離します

sns.stripplot(x='day', y='total_bill', hue='smoker',dodge=True,data=tips)

画像


水平散布図を描く

sns.stripplot(x='total_bill', y='day', hue='smoker',dodge=True,data=tips)

画像


ジッタを追加して、値の分布を表示します

sns.stripplot(x='day', y='total_bill', hue='smoker',dodge=True, jitter=True,data=tips)

画像

実際、私の個人的な観点からは、ジッターを追加することの本質は、散乱点間の距離を広げ、繰り返し部分を減らし、視覚効果を向上させることです。誤解される可能性があります、純粋に個人的な推測

ジッタの特定の値を指定することもできます(jitter=Trueデフォルトの適切なジッタ値を選択します)

sns.stripplot(x='day', y='total_bill', hue='smoker',dodge=True, jitter=0.05,data=tips)

画像


散乱点の線幅を変更して等高線を描画します

plt.figure(dpi=150) sns.stripplot(x='day', y='total_bill', hue='smoker',dodge=True, jitter=True,line, data=tips)

画像


アウトラインの色を変更する

plt.figure(dpi=150) sns.stripplot(x='day', y='total_bill', hue='smoker',dodge=True, jitter=True,line, edgecolor='g',data=tips)

画像


散乱点の形状を変更します

特定のマーカーは、実際には次のようにmatplotlibから継承されます。
画像
詳細については、別のブログを参照してください Matplotlibの描画

plt.figure(dpi=150) sns.stripplot(x='day', y='total_bill', hue='smoker',dodge=True, jitter=True,marker='v',data=tips)

画像


透明度を上げてサイズを変更する

plt.figure(dpi=150) sns.stripplot(x='day', y='total_bill',hue='smoker',dodge=True, palette=sns.color_palette('plasma_r',n_colors=2), jitter=True,marker='h',size=10,alpha=0.5,data=tips)

画像


これらの基本的なプロットに加えて、散布図は実際には箱ひげ図、バイオリン図などで使用できます。

箱ひげ図+ストライププロット

plt.figure(dpi=150) sns.boxplot(x='tip', y='day', data=tips, whis=np.inf, palette='Set2') sns.stripplot(x='tip', y='day', data=tips, jitter=True,palette=sns.color_palette('plasma_r',n_colors=4), alpha=0.5,marker='h',size=10)

画像

バイオリン図+ストライプ

sns.violinplot(x='day', y='total_bill', data=tips, inner=None, color='.8') sns.stripplot(x='day', y='total_bill', data=tips, jitter=True)

画像