seaborn API で説明されているように、次のコードは線形回帰プロットを生成します。
import numpy as np, pandas as pd; np.random.seed(0)
import seaborn as sns; sns.set(style="white", color_codes=True)
tips = sns.load_dataset("tips")
g = sns.jointplot(x="total_bill", y="tip", data=tips, kind='reg')
sns.plt.show()
ただし、データポイントが多いと、回帰直線は実際には表示されなくなります。どうすれば色を変えることができますか?組み込みのseabornコマンドが見つかりませんでした。
線が背景(ドットの後ろ)にある場合は、線を前に出す方法もお聞きしたいと思います。
Mwaskomが巧みに指摘したように、いくつかのアプローチがあります。ジョイントプロットに引数を渡すことはできますが、そこにcolor
を設定すると、散布図全体に影響します。
import numpy as np, pandas as pd; np.random.seed(0)
import seaborn as sns#; sns.set(style="white", color_codes=True)
tips = sns.load_dataset("tips")
g = sns.jointplot(x="total_bill", y="tip", data=tips, kind='reg',
joint_kws={'color':'green'}) # Scatter and regression all green
または、散布図キーワードの辞書にラインプロットキーワードの辞書を渡します。私は読む seaborn/linearmodels.py
これをどこで行うかを理解することは、それ自体が面白くて有益でした。 dictのディクト:
g = sns.jointplot(x="total_bill", y="tip", data=tips, kind='reg',
joint_kws={'line_kws':{'color':'cyan'}}) # Only regression cyan
または、プロット後に線にアクセスして直接変更することもできます。これは、プロットされた最初の線である回帰直線に依存するため、海の更新で壊れることがあります。また、不確実性の広がりを再着色しないため、美的/教育的にも異なります。これは、JointGrid
オブジェクトとは何か、および他にどのようにオブジェクトを操作するかを理解するための良い方法です。 (そして、関数呼び出し引数で設定できないプロパティがあるかもしれませんが、私には考えられません。)
g = sns.jointplot(x="total_bill", y="tip", data=tips, kind='reg')
regline = g.ax_joint.get_lines()[0]
regline.set_color('red')
regline.set_zorder('5')