matplotlib 如何在seaborn kdeplut中添加颜色栏

jucafojl  于 2023-03-30  发布在  其他
关注(0)|答案(2)|浏览(111)

我想用seaborn.kdeplot创建一个Kernel-Density-Estimation,旁边有一个颜色条。

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np; np.random.seed(10)
import seaborn as sns; sns.set(color_codes=True)

mean, cov = [0, 2], [(1, .5), (.5, 1)]
x, y = np.random.multivariate_normal(mean, cov, size=50).T
sns.kdeplot(x, y ,shade=True)
plt.show()

当创建了Kernel-Density-Estimation时,我不知道如何创建colorbar。我尝试使用plt.colorbar()没有成功。

ndasle7k

ndasle7k1#

**现已实现it's!**参数cbar=True

也可以使用shade_lowest=False不着色第一个级别。

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

x, y = np.random.randn(2, 300)
sns.kdeplot(x=x, y=y, zorder=0, n_levels=6, shade=True, 
    cbar=True, shade_lowest=False, cmap='viridis')

kpbwa7wx

kpbwa7wx2#

你必须直接调用scipy KDE和matplotlib contour函数,但这只是一些额外的代码:

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np; np.random.seed(10)
import seaborn as sns; sns.set(color_codes=True)
from scipy import stats

mean, cov = [0, 2], [(1, .5), (.5, 1)]
data = np.random.multivariate_normal(mean, cov, size=50).T

kde = stats.gaussian_kde(data)
xx, yy = np.mgrid[-3:3:.01, -1:4:.01]
density = kde(np.c_[xx.flat, yy.flat].T).reshape(xx.shape)

f, ax = plt.subplots()
cset = ax.contourf(xx, yy, density, cmap="viridis")
f.colorbar(cset)

相关问题