Python可视化 | Seaborn包—kdeplot和distplot

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib
import matplotlib.pyplot as plt
from scipy.stats import skew
from scipy.stats.stats import pearsonr
%config InlineBackend.figure_format = ‘retina‘
%matplotlib inline

  

一、kdeplot(核密度估计图)

核密度估计(kernel density estimation)是在概率论中用来估计未知的密度函数,属于非参数检验方法之一。通过核密度估计图可以比较直观的看出数据样本本身的分布特征。

x=np.random.randn(100)  #随机生成100个符合正态分布的数
sns.kdeplot(x)

  

sns.kdeplot(x,cut=0) #cut:参数表示绘制的时候,切除带宽往数轴极限数值的多少(默认为3)

  

sns.kdeplot(x,cumulative=True)#cumulative :是否绘制累积分布

  

sns.kdeplot(x,cumulative = True,shade=True,color = ‘r‘)
#shade:若为True,则在kde曲线下面的区域中进行阴影处理,color控制曲线及阴影的颜色

sns.kdeplot(x,cumulative = True,shade=True,color = ‘r‘,vertical = True)#vertical:表示以X轴进行绘制还是以Y轴进行绘制

  

二元Kde图像

y=np.random.randn(100)
sns.kdeplot(x,y,shade=True,cbar = True)#cbar:参数若为True,则会添加一个颜色棒(颜色帮在二元kde图像中才有)

  

二、distplot()

displot()集合了matplotlib的hist()与核函数估计kdeplot的功能,增加了rugplot分布观测条显示与利用scipy库fit拟合参数分布的新颖用途。

直方图又称质量分布图,它是表示资料变化情况的一种主要工具。用直方图可以解析出资料的规则性,比较直观地看出产品质量特性的分布状态,对于资料分布状况一目了然,便于判断其总体质量分布情况。直方图表示通过沿数据范围形成分箱,然后绘制条以显示落入每个分箱的观测次数的数据分布。

sns.distplot(x,color="g")

  

通过hist和kde参数调节是否显示直方图及核密度估计(默认hist,kde均为True)

fig,axes = plt.subplots(1,3)
sns.distplot(x,ax = axes[0])                #左图 参数ax= 把图形放在哪个框里
sns.distplot(x,hist = False ,ax = axes[1]) #中图
sns.distplot(x,kde = False, ax = axes[2])  #右图

  

bins:int或list,控制直方图的划分

fig,axes = plt.subplots(1,2)
sns.distplot(x,kde = False,bins = 20,ax = axes[0]) #kde=False 纵轴表示的时频数不再是频率
sns.distplot(x,kde = False,bins = [x for x in range(4)],ax = axes[1])

  

rug:控制是否生成观测数值的小细条

fig,axes = plt.subplots(1,2)
sns.distplot(x,rug=True,ax = axes[0]) #左图
sns.distplot(x,ax = axes[1])           #右图

  

fit:控制拟合的参数分布图形,能够直观地评估它与观察数据的对应关系(黑色线条为确定的分布)

from scipy.stats import *
sns.distplot(x,hist = False,fit =norm) #fit = norm 拟合正态分布

  

? hist_kws, kde_kws, rug_kws, fit_kws参数接收字典类型,可以自行定义更多高级的样式

sns.distplot(x,kde_kws={"label":"KDE"},vertical=True,color="y")

  

?norm_hist:若为True, 则直方图高度显示密度而非计数(含有kde图像中默认为True)

fig,axes=plt.subplots(1,2)
sns.distplot(x,norm_hist=True,kde=False,ax=axes[0]) #左图
sns.distplot(x,kde=False,ax=axes[1]) #右图

  

原文地址:https://www.cnblogs.com/jiaxinwei/p/11986590.html

时间: 2024-11-13 07:53:30

Python可视化 | Seaborn包—kdeplot和distplot的相关文章

Python 可视化工具 Matplotlib

英文出处:Chris Moffitt. Matplotlib是Python中最常用的可视化工具之一,可以非常方便地创建海量类型的2D图表和一些基本的3D图表.本文主要介绍了在学习Matplotlib时面临的一些挑战,为什么要使用Matplotlib,并推荐了一个学习使用Matplotlib的步骤. 简介 对于新手来说,进入Python可视化领域有时可能会令人感到沮丧.Python有很多不同的可视化工具,选择一个正确的工具有时是一种挑战. 例如,即使两年过去了,这篇<Overview of Pyt

Pycon 2017: Python可视化库大全

本文首发于微信公众号“Python数据之道” 前言 本文主要摘录自 pycon 2017大会的一个演讲,同时结合自己的一些理解. pycon 2017的相关演讲主题是“The Python Visualization Landscape”. 先来一张全景图镇楼~~ 看完这张图是不是有点懵? 别着急,我们一起来看看后面的阐述. python可视化库可以大致分为几类: 基于matplotlib的可视化库 基于JS的可视化库 基于上述两者或其他组合功能的库 基于matplotlib的可视化库 matp

用Python可视化股票指标

用Python可视化股票指标 一个完整的量化交易策略指考虑到交易的方方面面,但是能不能赚钱,谁知道呢 :) 但是一个量化交易可以通过回测系统建立信心然后让其一如既往的运行,以达到让钱生钱的目的,并且是自动的. 笔者主要谈纯技术面的量化交易,基本面的一些情况并不好处理及量化,我也暂时没有涉及. 量化交易 一个完整的量化交易策略,个人觉得应该包含以下两个部分: 交易策略 资金管理 交易策略 一个完整的交易策略应该包含何时买,何时卖. 到底应该如何买卖,市场上大致分为两个技术流派. 趋势跟随 价值回归

Python中的包ImportError

前言 Python中的包给我提供了很好的代码组织,相似的功能模块放在同一个包内,不仅代码结构清晰,而且调用起来也比较方便(可以用*导入) 但是,我们在刚开始使用Python包的时候总是会遇到导入错误"ImportError: No module named 'xxx'“,下面我们来简单介绍一下如何解决这类问题 Python中的包 Python中的包就和C#中的dll一样都是一些模块(或者类库)的集合.Python中新创建的包其实只有两个文件,一个是以包名命名的文件夹和其中的一个__init__.

CentOS 7 64位环境下安装llvm以及python的llvmlite包

llvm是一个很强大的编译器,具体的内容请读者自行百度一下哈 安装步骤: 1.安装llvm 2.安装python的llvmlite包 一.安装llvm(版本是3.5) 1.需要的文件 LLVM source code Clang source code Clang Tools Extra source code Compiler RT source code LibC++ source code 上面这些文件在这个链接:http://llvm.org/releases/download.html

Python 可视化Twitter中指定话题中Tweet的词汇频率

CODE: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-7-8 @author: guaguastd @name: plot_frequencies_words.py ''' if __name__ == '__main__': #import json # import Counter from collections import Counter # import search from search impor

简述Python模块和包

我们常常会使用别人写的包,假如我们使用的是Python3.4版本,安装在windows的C盘根目录下,那么外部的包一般放在:C:\Python34\Lib\sit-packages下,此目录下有以.py单独存在的文件,也有以文件夹存在的包,下面我们简单说一下Python中的模块和包,看完之后,也许会对这个目录看的更清楚一些. 一.模块 我们编写文件:a.py,放在C:\Python34\Lib\sit-packages下,里面写上一句代码为: print('this is a') 之后我们就可以

Python/模块与包之包

Python/模块与包之包 1. 包是一种通过使用模块名 来组织Python模块名称空间的方式,一个类似于目录并存有__init__.py文件的被称为包 包的本质就是一个包含__init__.py文件的目录.包A和包B下有同名模块也不会冲突,如A.a与B.a来自俩个命名空间 无论是import形式还是from...import形式,凡是在导入语句中(而不是在使用时)遇到带点的,都要第一时间提高警觉:这是关于包才有的导入语法 包 通常包总是一个目录,可以使用import导入包,或者from + i

Python/模块与包之模块

Python/模块与包之模块 1.什么是模块? 模块就是py文件 2.为什么要用模块? 如果在解释器上进行编码,把解释器关闭之前写的文件就不存在了,如果使用模块的话就能永久保存在磁盘中. 3.如何使用模块? 3.1 import    通过import导入要使用的模块 1 #spam.py 2 print('from the spam.py') 3 4 money=1000 5 6 def read1(): 7 print('spam->read1->money',1000) 8 9 def