我想在同一张图上绘制直方图和KDE线,并使用不同的颜色。我想将直方图设为绿色,将KDE线设为蓝色。我已经找到了使用line_kws来改变KDE线的颜色,但是hist_kws在displot上无效。我尝试过使用histplot,但是无法为直方图和线条设置不同的颜色。
line_kws={'color': ...}
来更改KDE曲线的颜色。直接使用facecolor=...
来更改直方图的颜色。
以下代码已在seaborn 0.11.1中进行了测试,并使用默认kind
(kind='hist'
)和无hue
:
sns.displot(..., facecolor=...)
更改直方图面的颜色sns.displot(..., edgecolor=...)
更改直方图边缘的颜色sns.displot(..., color=...)
更改KDE曲线的颜色(当kde=True
时)sns.displot(..., line_kws={'lw':...})
更改kdeline的参数,但不包括颜色import seaborn as sns
penguins = sns.load_dataset('penguins')
sns.displot(data=penguins, x="flipper_length_mm", kde=True, col="species", color='red',
line_kws={'lw': 3}, facecolor='lime', edgecolor='black')
Seaborn的强项是使用hue
参数,将多个分布放在一起,这时对应的kde和直方图需要使用相同的颜色。当使用hue
时,上述着色将被覆盖。
displot
将这些称为kwargs
(“关键字参数”),并表示其他关键字参数在相关的轴级函数中有文档记录。在这种情况下,它们被发送到histplot
,然后再发送到plt.bar
等。 - JohanC