python可视化进阶---seaborn1.3 分布数据可视化 - 直方图与密度图 displot() / kdeplot()/ rugplot()
一、分布数据可视化 - 直方图与密度图
displot() / kdeplot()/ rugplot()
加载模块,设置风格,尺度
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns#设置风格,尺度
sns.set_style('darkgrid')
sns.set_context('paper')#不发出警告
import warnings
warnings.filterwarnings('ignore')
1.直方图 - distplot()
示例1:
rs = np.random.RandomState(10) #设定随机数种子
s = pd.Series(rs.randn(100) * 100)
sns.distplot(s, bins = 10, hist = True, kde = True, norm_hist = False,rug = True, vertical = True,color = 'b', label = 'distplot', axlabel = 'x')
plt.legend()
#bins ---> 箱数
#hist、ked ---> 是否显示箱/密度曲线
#norm_hist ---> 直方图是否按照密度来显示
#rug ---> 是否显示数据分布情况
#vertical ---> 是否水平显示
#color ---> 设置颜色
#label ---> 图例
#axlabel ---> x轴标注
图1. 直方图
示例2:
sns.distplot(s, rug = True,rug_kws = {'color':'y'},#设置数据频率分布颜色kde_kws = {'color':'k', 'lw':1, 'label':'KDE', 'linestyle':'--'},#设置密度曲线颜色、线宽、标注、 线形hist_kws = {'histtype':'stepfilled', 'linewidth':1, 'alpha':1, 'color':'g'})# 设置箱子的风格、线宽、透明度、颜色# 风格包括:'bar'、'barstacked'、'step'、'stepfilled'
图2. 直方图
2.密度图 - kdeplot()
2.1 单个样本数据密度分布图
sns.kdeplot(s,shade = False, #是否填充color = 'r', #设置颜色vertical = False) #设置是否水平)sns.kdeplot(s, bw = 1, label = 'bw : 0.2',linestyle = '--', linewidth = 1.2, alpha = 0.5)
sns.kdeplot(s, bw =20, label = 'bw : 2',linestyle = '--', linewidth = 1.2, alpha = 0.5)
#bw --> 控制拟合的程度,类似直方图的箱数
#数据频率分布
sns.rugplot(s, height = 0.1, color = 'r', alpha = 0.5)
图3. 单个样本数据密度分布图
2.2 两个样本的数据密度分布图
rs = np.random.RandomState(2) #设定随机数种子
df = pd.DataFrame(rs.randn(100,2),columns = ['A', 'B'])#两个维度数据生成曲线密度图,以颜色作为密度的衰减显示
sns.kdeplot(df['A'],df['B'],cbar = True, #是否显示颜色的图例shade = True, #是否填充cmap = 'Reds', #设置调色盘shade_lowest = False, #最外围颜色是否显示n_levels = 50 #曲线个数(如果非常多,则会越平滑))#注意设置x,y轴
plt.scatter(df['A'],df['B'],s = 5, alpha = 0.5, color = 'k')
sns.rugplot(df['A'], color = 'g', axis = 'x', alpha = 0.5)
sns.rugplot(df['B'], color = 'r', axis = 'y', alpha = 0.5)
图4. 两个样本数据的密度分布图
2.3 多个样本的密度图
#多个密度图
#创建数据
rs1 = np.random.RandomState(2)
rs2 = np.random.RandomState(5)
df1 = pd.DataFrame(rs1.randn(100,2)+2, columns = ['A','B'])
df2 = pd.DataFrame(rs2.randn(100,2)-2, columns = ['A','B'])
#创建图表
sns.kdeplot(df1['A'],df1['B'],cmap = 'Greens',shade = True, shade_lowest = False)
sns.kdeplot(df2['A'],df2['B'],cmap = 'Blues',shade = True, shade_lowest = False)
3.rugplot()
这个函数就是显示数据分布情况,具体使用参见上面代码
python可视化进阶---seaborn1.3 分布数据可视化 - 直方图与密度图 displot() / kdeplot()/ rugplot()相关推荐
- python数据动态可视化进阶版,Matplotlib Animations 数据可视化进阶
原标题:Matplotlib Animations 数据可视化进阶 如果你对我的代码有兴趣,可以在我的GitHub查看.当你第一次执行时,代码会报错(我一直没有解决),但是同样的代码框再执行一次,就能 ...
- 在R、Python和Julia中常用的数据可视化技术
俗话说"一图胜千言".通过各种图片和图形化展示,我们可以更清晰地表达很多抽象概念.理论.数据模式或某些想法.在本章中,我们首先解释为什么应该关心数据可视化.然后,我们将讨论几种在R ...
- python hist函数_Python数据可视化:一文读懂直方图和密度图
一图胜千言,使用Python的matplotlib库,可以快速创建高质量的图形. 用matplotlib生成基本图形非常简单,只需要几行代码,但要创建复杂的图表,需要调用更多的命令和反复试验,这要求用 ...
- python爬虫数据可视化_适用于Python入门者的爬虫和数据可视化案例
本篇文章适用于Python小白的教程篇,如果有哪里不足欢迎指出来,希望对你帮助. 本篇文章用到的模块: requests,re,os,jieba,glob,json,lxml,pyecharts,he ...
- Python: 除matplotlib外还有哪些数据可视化库?
Python: 除matplotlib外还有哪些数据可视化库? matplotlib算是python比较底层的可视化库,可定制性强.图表资源丰富.简单易用.达到出版质量级别. 其它的可视化库诸如: s ...
- Python基于WordCloud词云图的数据可视化分析 词云图的基本使用 政府工作报告分析
Python基于WordCloud词云图的数据可视化分析 词云图的基本使用 政府工作报告分析 文章目录 1.词云图简介 2.wordcloud库的安装 3.WordCloud的主要参数说明 4.绘制词 ...
- python使用pyecharts库画地图数据可视化
python使用pyecharts库画地图数据可视化 导库 中国地图 代码 结果 世界地图 代码 结果 省级地图 代码 结果 地级市地图 代码 结果 导库 from pyecharts import ...
- 用python进行简单的数据分析和数据可视化
用python进行简单的数据分析和数据可视化 本篇文章主要是初步探索数据分析,简单了解数据分析大致流程 数据来源:来自于Kaggle平台上的一个项目:Explore San Francisco cit ...
- 【计算机专业毕设之基于python猫咪网爬虫大数据可视化分析系统-哔哩哔哩】 https://b23.tv/jRN6MVh
[计算机专业毕设之基于python猫咪网爬虫大数据可视化分析系统-哔哩哔哩] https://b23.tv/jRN6MVh https://b23.tv/jRN6MVh
- 地铁译:Spark for python developers ---Spark处理后的数据可视化
spark for python developer 一书,说实在的,质量一般,但勉强可以作为python 工程师的入门资料,至此,这一时段的地铁译结束了,开始新的阅读旅程-- 对于 Python 的 ...
最新文章
- tar解压 除去目录 指定路径
- 用indesign怎么更换名牌姓名_颚式破碎机如何拆卸?耐磨件怎么更换,可以用多久?答案都在这里...
- Python练习题:---给定一个字符串 {xxx[xxx{xxx}]xx{x[xxx]xxx{xxx}xx}x} 判断其中的 {}[]() 是否成对出现
- boost::geometry::assign用法的测试程序
- 富学金融穷学IT,分析互联网的新财富密码
- 设计模式之 中介者模式
- super构造方法为什么给子类赋值_【Java学习 | Javase】super
- 【机器视觉学习笔记】双边滤波算法(C++)
- 抱歉(HDU-1418)
- tftp服务器从交换机上下载配置命令_软考网络工程师之交换机和路由(交换机基础)...
- C语言-附加-给一个数求最大质数(完整代码)
- BZOJ 1029: [JSOI2007]建筑抢修 优先队列
- python逻辑型数据也叫什么_python基础(三)python数据类型
- Android10源码下载和编译(解锁/刷机)
- web前端大一实训 HTML+CSS+JavaScript王者荣耀(60页) web课程设计网页规划与设计 HTML期末大作业 HTML网页设计结课作业...
- firefox + pentadactyl 实现纯绿色高效易扩展浏览器(同时实现修改默认状态栏样式)...
- 微信小游戏排行榜:主域和子域
- 数字证书有什么作用?
- 局域网设置共享打印机步骤
- 视觉显著性 matlab,转载图像/视觉显著性检测技术发展情况梳理(Saliency Detection、Visual Attention)...