用seborn的函数distplot(), jointplot(), pairplt()对数据的单变量分析绘图

摘要:
参数kde=True时会把分布曲线也画出来。如下代码所示是绘制标准正态分布的分布图1importseabornassns2importnumpyasnp3importmatplotlibasmpl4importmatplotlib.pyplotasplt567x=np.random.normal8sns.distplot9plt.show()2.对于两组变量关系,可以用散点图画出他们的分布。如下代码是绘出二维正态分布的散点图1importseabornassns2importnumpyasnp3importpandasaspd4importmatplotlibasmpl5importmatplotlib.pyplotasplt678data=np.random.multivariate_normal#1000组标准二维正态分布9df=pd.DataFrame10sns.jointplot11plt.show()data是一个长度为1000的ndarray类型,每个元素又是一个二维向量,分别是二维正态分布的两个随机变量的样本值。所以可以当成是1000*2的矩阵利用DataFrame函数将ndarray变成DataFrame结构,然后利用jointplot()画出散点图。

1.用seaborn的distplot()函数绘制直方图。参数kde = True时会把分布曲线也画出来。

如下代码所示是绘制标准正态分布的分布图

1 import seaborn assns
2 import numpy asnp
3 import matplotlib asmpl
4 import matplotlib.pyplot asplt
5 
6 
7 x = np.random.normal(size=1000)
8 sns.distplot(x)
9 plt.show()

用seborn的函数distplot(), jointplot(), pairplt()对数据的单变量分析绘图第1张

2.对于两组变量关系,可以用散点图画出他们的分布。函数是jointplot()。

如下代码是绘出二维正态分布的散点图

1 import seaborn assns
2 import numpy asnp
3 import pandas aspd
4 import matplotlib asmpl
5 import matplotlib.pyplot asplt
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的函数distplot(), jointplot(), pairplt()对数据的单变量分析绘图第2张

3.最强大的函数应该是pairplot函数,它能对DataFram的属性两两配对绘制散点图,并且对某一属性绘制直方图

如下代码所示,iris是seaborn内置数据集

1 import seaborn assns
2 import numpy asnp
3 import pandas aspd
4 import matplotlib asmpl
5 import matplotlib.pyplot asplt
6 
7 iris = sns.load_dataset("iris")   #seaborn内置数据集,DaraFram类型
8 sns.pairplot(iris, kind="hex")
9 plt.show()

运行结果如下

用seborn的函数distplot(), jointplot(), pairplt()对数据的单变量分析绘图第3张

免责声明:文章转载自《用seborn的函数distplot(), jointplot(), pairplt()对数据的单变量分析绘图》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇安全威胁的分类Oracle中返回多个结果集的处理<转>下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Python统计分析可视化库seaborn(相关性图,变量分布图,箱线图等等)

Visualization of seaborn  seaborn[1]是一个建立在matplot之上,可用于制作丰富和非常具有吸引力统计图形的Python库。Seaborn库旨在将可视化作为探索和理解数据的核心部分,有助于帮人们更近距离了解所研究的数据集。无论是在kaggle官网各项算法比赛中,还是互联网公司的实际业务数据挖掘场景中,都有它的身影。   ...

pyecharts v1 版本 学习笔记 散点图

散点图 基本案例 from example.commons import Faker from pyecharts import options as opts from pyecharts.charts import EffectScatter from pyecharts.globals import SymbolType c = (...

python 绘图---2D、3D散点图、折线图、曲面图

python中绘制2D曲线图需要使用到Matplotlib,Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形,通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。 1. 绘制折线图 plt.plot() 可以用于绘制折线图。...

Matplotlib基础--简单散点图

2.简单散点图 接着上一章讲的,另一种常用的图表类型是简单散点图,它是折线图的近亲。不像折线图,图中的点连接起来组成连线,散点图中的点都是独立分布的点状、圆圈或其他形状。本节开始我们也是首先将需要用到的图表工具和函数导入到 Pycharm 中: import matplotlib.pyplot as plt plt.style.use('seaborn-w...

偏态分布(Skewed distribution)

频数分布有正态分布和偏态分布之分。正态分布是指多数频数集中在中央位置,两端的频数分布大致对称。 偏态分布是指频数分布不对称,集中位置偏向一侧。若集中位置偏向数值小的一侧,称为正偏态分布;集中位置偏向数值大的一侧,称为负偏态分布。 如果频数分布的高峰向左偏移,长尾向右侧延伸称为正偏态分布,也称右偏态分布;同样的,如果频数分布的高峰向右偏移,长尾向左延伸则成...

MATLAB拟合和插值

定义 插值和拟合: 曲线拟合是指您拥有散点数据集并找到最适合数据一般形状的线(或曲线)。 插值是指您有两个数据点并想知道两者之间的值是什么。中间的一半是他们的平均值,但如果你只想知道两者之间的四分之一,你必须插值。   拟合 我们着手写一个线性方程图的拟合: y=3x^3+2x^2+x+2 首先我们生成一组数据来分析: x=-5:0.5:5; e=50*r...