我正在尝试在我的 kdeplot 中自定义我的阴影颜色。
我想使用这个调色板,从浅绿色到#3bd6b0
颜色至少有 15 个级别(但以后可能会更多)。为了做到这一点,我使用了 sns.light_palette
像这样 :sns.light_palette('#3bd6b0',15)
这很好用,并且与这个调色板对应:
但是当我运行此代码时:
sns.set_palette(sns.light_palette('#3bd6b0', 15))
x = np.random.normal(10, 5, 20)
y = np.random.normal(10, 5, 20)
sns.kdeplot( x=x, y=y, shade=True, shade_lowest=False,cbar=True, thresh= 0.0001, n_levels=15)
我明白了:这不是我想要的......
我尝试了很多参数
cmap
和 palette
,但没有任何作用。你能帮我告诉我我的代码有什么问题吗?
非常感谢
最佳答案
kdeplot
从给定的固定颜色创建自己的阴影,或者您可以明确设置颜色图。如果您什么都不提供,则使用 matplotlib 的颜色循环。在您的情况下,kdeplot
将从遇到的第一种颜色(调色板中最浅的颜色)中的第一种颜色创建自己的色带。如果给定颜色被认为是浅色,则色带变暗,当给定颜色被认为是暗色时,色带变白。
您可以通过 sns.kdeplot(..., cmap=...)
提供颜色图. sns.colorpalette(..., as_cmap=True)
将 seaborn 调色板转换为颜色图。
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
x = np.random.normal(10, 5, 20)
y = np.random.normal(10, 5, 20)
cmap = sns.light_palette('#3bd6b0', as_cmap=True)
ax = sns.kdeplot(x=x, y=y, shade=True, cbar=True, thresh=0.0001, n_levels=15, cmap=cmap)
plt.show()
关于python - kdeplot seaborn 中的自定义阴影调色板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67370427/