python - kdeplot seaborn 中的自定义阴影调色板

标签 python seaborn data-visualization

我正在尝试在我的 kdeplot 中自定义我的阴影颜色。
我想使用这个调色板,从浅绿色到#3bd6b0颜色至少有 15 个级别(但以后可能会更多)。为了做到这一点,我使用了 sns.light_palette像这样 :sns.light_palette('#3bd6b0',15)这很好用,并且与这个调色板对应:
palette
但是当我运行此代码时:

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)
我明白了:
kdeplot
这不是我想要的......
我尝试了很多参数 cmappalette ,但没有任何作用。
你能帮我告诉我我的代码有什么问题吗?
非常感谢

最佳答案

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()
2d kdeplot with custom shades

关于python - kdeplot seaborn 中的自定义阴影调色板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67370427/

相关文章:

python - 具有最大可区分颜色的颜色图

python - 为 App Engine 上的 Django session 缓存设置 Memcached

python - 如何关联哪个奇异值对应于哪个条目?

python - 禁用向下滚动并以绘图方式显示表格上的所有数据

Python:我可以将日期时间转换为粒度小于一整天的 float 吗?

r - 如何将效果大小添加到 t 检验的 ggplot 条形图? (例如 Cohen 的 d 或 Hedges 的 g)

r - 沿 x 轴具有完整数据和子集的 ggplot

python - UnboundLocalError : local variable 'x' referenced before assignment. 在数据帧的 seaborn 包中正确使用 tsplot?

python - 在 Python 中移动 Seaborn 图中的图例

r - 如何更改状态箱 map 的颜色?