gpt4 book ai didi

matplotlib - 边缘线和填充 matplotlib 或 seaborn 分布图的不同透明度

转载 作者:行者123 更新时间:2023-12-02 03:46:08 26 4
gpt4 key购买 nike

我想为我在 matplotlib/seaborn 中创建的分布图的边缘线和填充设置不同级别的透明度 (= alpha)。例如:

ax1 = sns.distplot(BSRDI_DF, label="BsrDI", bins=newBins, kde=False,
hist_kws={"edgecolor": (1,0,0,1), "color":(1,0,0,0.25)})

不幸的是,上述方法不起作用。有人知道我该如何实现这一目标吗?

最佳答案

问题似乎是seaborn为直方图设置了一个alpha参数。对于通常的直方图,alpha 默认为 None,例如

plt.hist(x, lw=3, edgecolor=(1,0,0,0.75), color=(1,0,0,0.25))

按预期工作,seaborn 将此 alpha 设置为某个给定值。这会覆盖 RGBA 元组中设置的 Alpha。

解决方案是将 alpha 显式设置为 None:

ax = sns.distplot(x, kde=False, hist_kws={"lw":3, "edgecolor": (1,0,0,0.75),
"color":(1,0,0,0.25),"alpha":None})

一个完整的例子:

import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np

x = np.random.randn(60)

ax = sns.distplot(x, label="BsrDI", bins=np.linspace(-3,3,10), kde=False,
hist_kws={"lw":3, "edgecolor": (1,0,0,0.75),
"color":(1,0,0,0.25),"alpha":None})

plt.show()

enter image description here

关于matplotlib - 边缘线和填充 matplotlib 或 seaborn 分布图的不同透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46715409/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com