如何更改seaborn线性回归联合图中的线条颜色
How to change the line color in seaborn linear regression jointplot
如 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
来弄清楚在哪里可以做到这一点,这本身就很有趣并且信息量很大。字典中的字典:
g = sns.jointplot(x="total_bill", y="tip", data=tips, kind='reg',
joint_kws={'line_kws':{'color':'cyan'}}) # Only regression cyan
或者你也可以在画好线之后访问,直接修改。这取决于回归线是绘制的第一条线,因此可能会因 seaborn 更新而中断。它也 aesthetically/pedagogically 不同,因为您不会重新着色不确定性分布。这是熟悉 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)
如 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
来弄清楚在哪里可以做到这一点,这本身就很有趣并且信息量很大。字典中的字典:
g = sns.jointplot(x="total_bill", y="tip", data=tips, kind='reg',
joint_kws={'line_kws':{'color':'cyan'}}) # Only regression cyan
或者你也可以在画好线之后访问,直接修改。这取决于回归线是绘制的第一条线,因此可能会因 seaborn 更新而中断。它也 aesthetically/pedagogically 不同,因为您不会重新着色不确定性分布。这是熟悉 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)