如何在seaborn.jointplot中传递alpha(透明度)?

6
我正在使用seaborn进行数据探索,并最近遇到了一个问题:如何将透明度(alpha)传递到seaborn.jointplot中(传递到散点图部分,而不是直方图)?
更广泛地说,我还想知道:
1. joint_kws、marginal_kws和annot_kws的一般功能是什么(即如何将pyplot参数传递到这些参数中?)? 2. 这些参数与kwargs参数之间有什么区别?
谢谢!

2
仅仅添加 alpha=0.5jointplot 上不起作用吗? - DavidG
1
joint_kws = 字典(alpha=0.5) - ImportanceOfBeingErnest
2个回答

6
只是将sns.jointplot调用中添加alpha=0.5可能会导致以下错误:

TypeError: regplot() got an unexpected keyword argument 'alpha'

所以在这种情况下,您需要将此alpha设置嵌套到scatter_kws中,然后再嵌套到joint_kws中,如下所示:
sns.jointplot(x, y, data, kind='reg',joint_kws = {'scatter_kws':dict(alpha=0.5)})

在这一点上,您将获得联合图中散点透明度的调整。

这种方法在使用 seaborn 0.11.2 版本时无效。只有 @ImportanceOfBeingErnest 的方法对我有效,joint_kws = dict(alpha=0.5) - safay

0

如评论中所述,您可以在jointplot调用中简单地添加alpha=0.5

至于您的其他问题,一般信息可以在文档中找到:

  1. 您将一个字典传递给每个kw参数。这些控制jointplot创建的不同部分的图。例如,如果您想更改直方图的透明度,则应将其传递给marginal_kws。(这有点复杂,因为“边缘”是使用sns.distplot创建的,它基于plt.hist构建。因此,您实际上需要marginal_kws={'hist_kws': {'alpha': 0.1}}用于jointplot

  2. 其他kwargs会影响散点图部分,就像joint_kws一样。但是,这些参数将取代由joint_kws提供的参数。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接