用seborn对数据的单变量分析绘图
Posted loubin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用seborn对数据的单变量分析绘图相关的知识,希望对你有一定的参考价值。
1.用seaborn的distplot()函数绘制直方图。参数kde = True时会把分布曲线也画出来。
如下代码所示是绘制标准正态分布的分布图
1 import seaborn as sns 2 import numpy as np 3 import matplotlib as mpl 4 import matplotlib.pyplot as plt 5 6 7 x = np.random.normal(size=1000) 8 sns.distplot(x) 9 plt.show()
2.对于两组变量关系,可以用散点图画出他们的分布。函数是jointplot()。
如下代码是绘出二维正态分布的散点图
1 import seaborn as sns 2 import numpy as np 3 import pandas as pd 4 import matplotlib as mpl 5 import matplotlib.pyplot as plt 6 7 8 data = np.random.multivariate_normal(mean=[0, 0], cov=[[1, 0], [0, 1]], size=1000) #1000组标准二维正态分布 9 df = pd.DataFrame(data=data, columns=["x", "y"]) 10 sns.jointplot(x="x", y="y", kind="hex", data=df) 11 plt.show()
data是一个长度为1000的ndarray类型,每个元素又是一个二维向量,分别是二维正态分布的两个随机变量的样本值。所以可以当成是1000*2的矩阵
利用DataFrame函数将ndarray变成DataFrame结构,然后利用jointplot()画出散点图。其中如果kind=“scatter”则是普通散点图,这里为了避免样本太多,普通的散点图可能连成一片看不出分布差异,
用kind=“hex"来画,运行结果如下
以上是关于用seborn对数据的单变量分析绘图的主要内容,如果未能解决你的问题,请参考以下文章
R语言 | 生存分析之R包survival的单变量和多变量Cox回归