如何将 alpha(透明度)传递给 seaborn.jointplot?

How to pass alpha (transparency) into seaborn.jointplot?

我正在用seaborn练习数据探索,最近遇到一个问题:如何将alpha(透明度)传入seaborn.jointplot(到散点图部分,不是直方图)?

更广泛地说,我还想知道:

  1. joint_kwsmarginal_kwsannot_kws 的一般功能是什么(即如何将 use/pass pyplot 参数转换为这些参数?) ?

  2. 这些参数和kwargs参数有什么区别?

谢谢!

如评论中所述,您只需将 alpha=0.5 添加到 jointplot 调用中即可。

关于您的其他问题,一般信息可以在documentation:

中找到
  1. 您将字典传递给每个 kw 参数。这些控制由 jointplot 创建的绘图的不同部分。例如,如果您想更改直方图的透明度,您可以将其传递给 marginal_kws。 (这有点复杂,因为 "marginal" 是使用 sns.distplot 创建的,它建立在 plt.hist 的基础上。所以你实际上会有 marginal_kws={'hist_kws': {'alpha': 0.1}} 对应 jointplot

  2. 附加 kwargs 影响散点图部分,就像 joint_kws 一样。但是,这些论点将取代 joint_kws.

  3. 提供的论点

仅将 alpha=0.5 添加到您的 sns.jointplot 调用中可能会出现以下错误:

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)})

此时,您将调整联合图中散点的透明度。