数据可视化(7)-Seaborn系列 | 核函数密度估计图kdeplot()

  • 2019 年 10 月 7 日
  • 筆記

核函数密度估计图

该图主要用来拟合并绘制单变量或双变量核密度估计值。

函数原型

seaborn.kdeplot(data, data2=None, shade=False,                  vertical=False, kernel='gau', bw='scott',                  gridsize=100, cut=3, clip=None,                  legend=True, cumulative=False,                  shade_lowest=True, cbar=False,                  cbar_ax=None, cbar_kws=None, ax=None, **kwargs)

参数解读

shade:阴影:bool类型  作用:设置曲线下方是否添加阴影,如果为True则在曲线下方添加阴影  (如果数据为双变量则使用填充的轮廓绘制),若为False则,不绘制阴影    cbar:bool类型  作用:如果为True则绘制双变量KDE图,并添加颜色条

案例教程

import matplotlib.pyplot as plt  import numpy as np;  import seaborn as sns;  sns.set(color_codes=True)  np.random.seed(10)  #构建数据  mean, cov = [0, 2], [(1, .5), (.5, 1)]  x, y = np.random.multivariate_normal(mean, cov, size=50).T  """  案例1:  绘制基本的单变量密度曲线图  """  sns.kdeplot(x)  plt.show()
import matplotlib.pyplot as plt  import numpy as np;  import seaborn as sns;  sns.set(color_codes=True)  np.random.seed(10)  #构建数据  mean, cov = [0, 2], [(1, .5), (.5, 1)]  x, y = np.random.multivariate_normal(mean, cov, size=50).T  """  案例2:  绘制密度曲线,并在曲线下着色  通过设置color来设置不同的显示颜色  """  sns.kdeplot(x, shade=True, color="g")  plt.show()
import matplotlib.pyplot as plt  import numpy as np;  import seaborn as sns;  sns.set(color_codes=True)  np.random.seed(10)  #构建数据  mean, cov = [0, 2], [(1, .5), (.5, 1)]  x, y = np.random.multivariate_normal(mean, cov, size=50).T  """  案例3:  绘制双变量密度曲线  """  sns.kdeplot(x, y)  plt.show()
import matplotlib.pyplot as plt  import numpy as np;  import seaborn as sns;  sns.set(color_codes=True)  np.random.seed(10)  #构建数据  mean, cov = [0, 2], [(1, .5), (.5, 1)]  x, y = np.random.multivariate_normal(mean, cov, size=50).T  """  案例 4:  使用轮廓填充  """  sns.kdeplot(x, y, shade=True,color='r')  plt.show()
import matplotlib.pyplot as plt  import numpy as np;  import seaborn as sns;  sns.set(color_codes=True)  np.random.seed(10)  #构建数据  mean, cov = [0, 2], [(1, .5), (.5, 1)]  x, y = np.random.multivariate_normal(mean, cov, size=50).T  """  案例5:  使用更多轮廓级别和不同的调色板:  """  sns.kdeplot(x, y, n_levels=30, cmap="Purples_d")  plt.show()
import matplotlib.pyplot as plt  import numpy as np;  import seaborn as sns;  sns.set(color_codes=True)  np.random.seed(10)  #构建数据  mean, cov = [0, 2], [(1, .5), (.5, 1)]  x, y = np.random.multivariate_normal(mean, cov, size=50).T  """  案例6:  给轮廓添加颜色条  """  sns.kdeplot(x, y, cbar=True)  plt.show()
import matplotlib.pyplot as plt  import numpy as np;  import seaborn as sns;  # 获取数据  iris = sns.load_dataset("iris")  setosa = iris.loc[iris.species == "setosa"]  virginica = iris.loc[iris.species == "virginica"]  """  案例7:  绘制多个阴影双变量密度图(这里绘制两个)  """  sns.kdeplot(setosa.sepal_width, setosa.sepal_length,cmap="Reds", shade=True, shade_lowest=False)    sns.kdeplot(virginica.sepal_width, virginica.sepal_length,cmap="Blues", shade=True, shade_lowest=False)  plt.show()

案例地址

案例代码已上传:Github https://github.com/Vambooo/SeabornCN

整理制作:数据分析与可视化学研社

更多分享,请关注公众号