Seaborn绘制核密度曲线实例详解
在频率分布直方图中,当样本容量充分放大到极限时,组距极限缩短,这个时候频率直方图中的阶梯折线就会演变成一条光滑的曲线,这条曲线就称为总体的密度分布曲线。
这篇文章春江暮客将详细介绍如何使用python绘图库seaborn和panda里面的iris也就是鸢尾花卉数据集来绘制各种炫酷的密度曲线。
1.基本密度曲线
import seaborn as sns
sns.set(color_codes=True)
sns.set_style("white")
df = pd.read_csv('iris.csv')
sns.kdeplot(df['sepal_width'])
使用seaborn画核密度曲线,只需要使用kdeplot就行,注意,密度曲线只需要一个变量就可以了,这里我们选用的是sepal_width这一列。
2.添加阴影的密度曲线
import seaborn as sns
sns.set(color_codes=True)
sns.set_style("white")
df = pd.read_csv('iris.csv')
sns.kdeplot(df['sepal_width'],shade=True)
在kdeplot画图时制定shadow即可。
3.水平方向密度曲线
import seaborn as sns
sns.set(color_codes=True)
sns.set_style("white")
df = pd.read_csv('iris.csv')
sns.kdeplot(df['sepal_width'],shade=True,vertical=True)
vertical指定是否变成横向的密度曲线,虽然英文的意思是垂直的,不是很好理解的样子,但是效果就是变成水平方向。0-0
4.频率宽度调整
import seaborn as sns
sns.set(color_codes=True)
sns.set_style("white")
df = pd.read_csv('iris.csv')
p1 = sns.kdeplot(df['sepal_width'], shade=True, bw=.5, color="red")
p1 = sns.kdeplot(df['sepal_width'], shade=True, bw=.05, color="blue")
由于不同的频率宽度使得同一个数据得到的密度曲线不一样,频率宽度越小,会使得密度曲线越不平滑。
5.比较多个变量的密度曲线
import seaborn as sns
sns.set(color_codes=True)
sns.set_style("white")
df = pd.read_csv('iris.csv')
p1=sns.kdeplot(df['sepal_width'], shade=True, color="red")
p1=sns.kdeplot(df['sepal_length'], shade=True, color="blue")
多个变量我们就画两个密度图放一起。
6.两变量点的密度曲线
import seaborn as sns
sns.set(color_codes=True)
sns.set_style("white")
df = pd.read_csv('iris.csv')
sns.kdeplot(df['sepal_width'],df['sepal_length'], shade=True, color="red")
需要注意的是,这里炫酷的地图一般的密度曲线跟前一个图是不一样的概念,一个是多个变量的分别对应的密度曲线,这个是一个二维数据的密度曲线,x,y是作为一个组合出现的。
总结:
针对如何使用python的seaborn包画出各种不同的炫酷的密度曲线图,本文进行了kdeplot函数的详细介绍,更多用法请参考官方文档。
- 原文作者:春江暮客
- 原文链接:https://www.bobobk.com/263.html
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。