python可视化进阶---seaborn1.3 分布数据可视化 - 直方图与密度图 displot() / kdeplot()/ rugplot()

简介: 一、分布数据可视化 - 直方图与密度图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轴标注

20180911140359216.png

图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'

20180911140504627.png

图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)

20180911140656815.png

图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)

2018091114085671.png

图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)

20180911141130855.png

3.rugplot()

这个函数就是显示数据分布情况,具体使用参见上面代码

相关文章
|
23天前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
|
19天前
|
数据可视化 编译器 Python
Manim:数学可视化的强大工具 | python小知识
Manim(Manim Community Edition)是由3Blue1Brown的Grant Sanderson开发的数学动画引擎,专为数学和科学可视化设计。它结合了Python的灵活性与LaTeX的精确性,支持多领域的内容展示,能生成清晰、精确的数学动画,广泛应用于教育视频制作。安装简单,入门容易,适合教育工作者和编程爱好者使用。
80 7
|
21天前
|
数据采集 分布式计算 大数据
构建高效的数据管道:使用Python进行ETL任务
在数据驱动的世界中,高效地处理和移动数据是至关重要的。本文将引导你通过一个实际的Python ETL(提取、转换、加载)项目,从概念到实现。我们将探索如何设计一个灵活且可扩展的数据管道,确保数据的准确性和完整性。无论你是数据工程师、分析师还是任何对数据处理感兴趣的人,这篇文章都将成为你工具箱中的宝贵资源。
|
22天前
|
数据可视化 Python
使用Python进行数据可视化的初学者指南
在数据的海洋里,我们如何能够不迷失方向?通过数据可视化的力量,我们可以将复杂的数据集转化为易于理解的图形和图表。本文旨在为初学者提供一份简明的入门手册,介绍如何使用Python中的Matplotlib库来揭示数据背后的故事。我们将从基础的图表开始,逐步深入到更高级的可视化技术,确保每个步骤都清晰易懂,让初学者也能轻松上手。让我们开始绘制属于你自己的数据图谱吧!
|
1月前
|
机器学习/深度学习 人工智能 数据可视化
使用Python进行数据可视化:探索与实践
在数字时代的浪潮中,数据可视化成为了沟通复杂信息和洞察数据背后故事的重要工具。本文将引导读者通过Python这一强大的编程语言,利用其丰富的库函数,轻松入门并掌握数据可视化的基础技能。我们将从简单的图表创建开始,逐步深入到交互式图表的制作,最终实现复杂数据的动态呈现。无论你是数据分析新手,还是希望提升报告吸引力的专业人士,这篇文章都将是你的理想指南。
48 9
|
29天前
|
数据可视化 数据处理 Python
Python编程中的数据可视化技术
在Python编程中,数据可视化是一项强大的工具,它能够将复杂的数据集转化为易于理解的图形。本文将介绍如何使用matplotlib和pandas这两个流行的Python库来实现数据可视化,并展示一些实用的代码示例。通过这些示例,读者将学会如何创建各种图表,包括折线图、柱状图和散点图等,以便更好地理解和呈现数据。
|
1月前
|
存储 数据可视化 数据挖掘
使用Python进行数据分析和可视化
本文将引导你理解如何使用Python进行数据分析和可视化。我们将从基础的数据结构开始,逐步深入到数据处理和分析的方法,最后通过实际的代码示例来展示如何创建直观的数据可视化。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧。让我们一起探索数据的世界,发现隐藏在数字背后的故事!
|
1月前
|
传感器 物联网 开发者
使用Python读取串行设备的温度数据
本文介绍了如何使用Python通过串行接口(如UART、RS-232或RS-485)读取温度传感器的数据。详细步骤包括硬件连接、安装`pyserial`库、配置串行端口、发送请求及解析响应等。适合嵌入式系统和物联网应用开发者参考。
53 3
|
1月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第42天】本文将介绍如何使用Python进行数据分析和可视化。我们将从数据导入、清洗、探索性分析、建模预测,以及结果的可视化展示等方面展开讲解。通过这篇文章,你将了解到Python在数据处理和分析中的强大功能,以及如何利用这些工具来提升你的工作效率。
|
1月前
|
数据可视化 搜索推荐 Shell
Python与Plotly:B站每周必看榜单的可视化解决方案
Python与Plotly:B站每周必看榜单的可视化解决方案