Graficación de la estimación de densidad de kernel 2D con Python

Me gustaría trazar una estimación de densidad de kernel 2D. Encuentro el paquete marítimo muy útil aquí. Sin embargo, después de buscar por mucho tiempo, no pude averiguar cómo hacer que el eje y y el eje x no sean transparentes. Además, ¿cómo mostrar los valores de la densidad en el contorno? Sería muy apreciado si alguien pudiera ayudarme. A continuación por favor vea mi código y gráfico. introduzca la descripción de la imagen aquí

import numpy as np import seaborn as sns import matplotlib.pyplot as pl Y = np.random.multivariate_normal((0, 0), [[0.8, 0.05], [0.05, 0.7]], 100) ax = sns.kdeplot(Y, shade = True, cmap = "PuBu") ax.patch.set_facecolor('white') ax.collections[0].set_alpha(0) ax.set_xlabel('$Y_1$', fontsize = 15) ax.set_ylabel('$Y_0$', fontsize = 15) pl.xlim(-3, 3) pl.ylim(-3, 3) pl.plot([-3, 3], [-3, 3], color = "black", linewidth = 1) pl.show() 

Aquí hay una solución que usa solo scipy y matplotlib :

 import numpy as np import matplotlib.pyplot as pl import scipy.stats as st data = np.random.multivariate_normal((0, 0), [[0.8, 0.05], [0.05, 0.7]], 100) x = data[:, 0] y = data[:, 1] xmin, xmax = -3, 3 ymin, ymax = -3, 3 # Peform the kernel density estimate xx, yy = np.mgrid[xmin:xmax:100j, ymin:ymax:100j] positions = np.vstack([xx.ravel(), yy.ravel()]) values = np.vstack([x, y]) kernel = st.gaussian_kde(values) f = np.reshape(kernel(positions).T, xx.shape) fig = pl.figure() ax = fig.gca() ax.set_xlim(xmin, xmax) ax.set_ylim(ymin, ymax) # Contourf plot cfset = ax.contourf(xx, yy, f, cmap='Blues') ## Or kernel density estimate plot instead of the contourf plot #ax.imshow(np.rot90(f), cmap='Blues', extent=[xmin, xmax, ymin, ymax]) # Contour plot cset = ax.contour(xx, yy, f, colors='k') # Label plot ax.clabel(cset, inline=1, fontsize=10) ax.set_xlabel('Y1') ax.set_ylabel('Y0') pl.show() 

El código anterior da el siguiente resultado:

plot_kernel_density.jpg

que tiene un eje x no transparente, un eje y no transparente y valores de la densidad en el contorno. ¿Es este el resultado esperado?