Python图表数据可视化Seaborn:2. 分类数据可视化

1. 分类数据可视化 - 分类散点图

stripplot() / swarmplot()

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
% matplotlib inline

sns.set_style("whitegrid")
sns.set_context("paper")
# 设置风格、尺度

import warnings
warnings.filterwarnings(‘ignore‘)
# 不发出警告
# 1、stripplot()
# 按照不同类别对样本数据进行分布散点图绘制

tips = sns.load_dataset("tips")
print(tips.head())
# 加载数据

sns.stripplot(x="day",          # x → 设置分组统计字段
              y="total_bill",   # y → 数据分布统计字段
              # 这里xy数据对调,将会使得散点图横向分布
              data=tips,        # data → 对应数据
              jitter = True,    # jitter → 当点数据重合较多时,用该参数做一些调整,也可以设置间距如:jitter = 0.1
              size = 5, edgecolor = ‘w‘,linewidth=1,marker = ‘o‘  # 设置点的大小、描边颜色或宽度、点样式
              )

1.1 stripplot()

# 1、stripplot()
# 通过hue参数再分类

sns.stripplot(x="sex", y="total_bill", hue="day",
              data=tips, jitter=True)

# 1、stripplot()
# 设置调色盘

sns.stripplot(x="sex", y="total_bill", hue="day",
              data=tips, jitter=True,
              palette="Set2",  # 设置调色盘
              dodge=True,  # 是否拆分
             )

# 1、stripplot()
# 筛选分类类别

print(tips[‘day‘].value_counts())
# 查看day字段的唯一值

sns.stripplot(x="day", y="total_bill", data=tips,jitter = True,
              order = [‘Sat‘,‘Sun‘])
# order → 筛选类别

1.2 swarmplot()

# 2、swarmplot()
# 分簇散点图

sns.swarmplot(x="total_bill", y="day", data=tips,
              size = 5, edgecolor = ‘w‘,linewidth=1,marker = ‘o‘,
              palette = ‘Reds‘)
# 用法和stripplot类似

2. 分类数据可视化 - 分布图

boxplot() / violinplot() / lvplot()

2.1 boxplot()箱型图

# 1、boxplot()
# 箱型图

sns.boxplot(x="day", y="total_bill", data=tips,
            linewidth = 2,   # 线宽
            width = 0.8,     # 箱之间的间隔比例
            fliersize = 3,   # 异常点大小
            palette = ‘hls‘, # 设置调色板
            whis = 1.5,      # 设置IQR
            notch = True,    # 设置是否以中值做凹槽
            order = [‘Thur‘,‘Fri‘,‘Sat‘,‘Sun‘],  # 筛选类别
           )
# 绘制箱型图

sns.swarmplot(x="day", y="total_bill", data=tips,color =‘k‘,size = 3,alpha = 0.8)
# 可以添加散点图

# 1、boxplot()
# 通过hue参数再分类

sns.boxplot(x="day", y="total_bill", data=tips,
            hue = ‘smoker‘, palette = ‘Reds‘)
# 绘制箱型图

#sns.swarmplot(x="day", y="total_bill", data=tips,color =‘k‘,size = 3,alpha = 0.8)
# 可以添加散点图

2.2 violinplot()小提琴图

# 2、violinplot()
# 小提琴图

sns.violinplot(x="day", y="total_bill", data=tips,
            linewidth = 2,   # 线宽
            width = 0.8,     # 箱之间的间隔比例
            palette = ‘hls‘, # 设置调色板
            order = [‘Thur‘,‘Fri‘,‘Sat‘,‘Sun‘],  # 筛选类别
            scale = ‘area‘,  # 测度小提琴图的宽度:area-面积相同,count-按照样本数量决定宽度,width-宽度一样
            gridsize = 50,   # 设置小提琴图边线的平滑度,越高越平滑
            inner = ‘box‘,   # 设置内部显示类型 → “box”, “quartile”, “point”, “stick”, None
            #bw = 0.8        # 控制拟合程度,一般可以不设置
           )
# 用法和boxplot类似

# 2、violinplot()
# 通过hue参数再分类

sns.violinplot(x="day", y="total_bill", data=tips,
               hue = ‘smoker‘, palette="muted",
               split=True,  # 设置是否拆分小提琴图
               inner="quartile")

# 2、violinplot()
# 结合散点图

sns.violinplot(x="day", y="total_bill", data=tips, palette = ‘hls‘, inner = None)
sns.swarmplot(x="day", y="total_bill", data=tips, color="w", alpha=.5)
# 插入散点图

2.3 lvplot() LV图表

# 3、lvplot()
# LV图表

sns.lvplot(x="day", y="total_bill", data=tips, palette="mako",
           #hue = ‘smoker‘,
           width = 0.8,           # 箱之间间隔比例
           linewidth = 12,
           scale = ‘area‘,        # 设置框的大小 → “linear”、“exonential”、“area”
           k_depth = ‘proportion‘,  # 设置框的数量 → “proportion”、“tukey”、“trustworthy”
          )
# 绘制LV图

sns.swarmplot(x="day", y="total_bill", data=tips,color =‘k‘,size = 3,alpha = 0.8)
# 可以添加散点图

3. 分类数据可视化 - 统计图

barplot() / countplot() / pointplot()

3.1 barplot()

# 1、barplot()
# 柱状图 - 置信区间估计
# 置信区间:样本均值 + 抽样误差

titanic = sns.load_dataset("titanic")
print(titanic.head())
print(‘-----‘)
# 加载数据

sns.barplot(x="sex", y="survived", hue="class", data=titanic,
            palette = ‘hls‘,
            order = [‘male‘,‘female‘],  # 筛选类别
            capsize = 0.05,  # 误差线横向延伸宽度
            saturation=.8,   # 颜色饱和度
            errcolor = ‘gray‘,errwidth = 2,  # 误差线颜色,宽度
            ci = ‘sd‘    # 置信区间误差 → 0-100内值、‘sd‘、None
            )

print(titanic.groupby([‘sex‘,‘class‘]).mean()[‘survived‘])
print(titanic.groupby([‘sex‘,‘class‘]).std()[‘survived‘])
# 计算数据

# 1、barplot()
# 柱状图 - 置信区间估计

sns.barplot(x="day", y="total_bill", hue="sex", data=tips,
            palette = ‘Blues‘,edgecolor = ‘w‘)
tips.groupby([‘day‘,‘sex‘]).mean()
# 计算数据

# 1、barplot()
# 柱状图 - 置信区间估计

crashes = sns.load_dataset("car_crashes").sort_values("total", ascending=False)
print(crashes.head())
# 加载数据

f, ax = plt.subplots(figsize=(6, 15))
# 创建图表

sns.set_color_codes("pastel")
sns.barplot(x="total", y="abbrev", data=crashes,
            label="Total", color="b",edgecolor = ‘w‘)
# 设置第一个柱状图

sns.set_color_codes("muted")
sns.barplot(x="alcohol", y="abbrev", data=crashes,
            label="Alcohol-involved", color="b",edgecolor = ‘w‘)
# 设置第二个柱状图

ax.legend(ncol=2, loc="lower right")
sns.despine(left=True, bottom=True)

3.2 countplot()

# 2、countplot()
# 计数柱状图

sns.countplot(x="class", hue="who", data=titanic,palette = ‘magma‘)
#sns.countplot(y="class", hue="who", data=titanic,palette = ‘magma‘)
# x/y → 以x或者y轴绘图(横向,竖向)
# 用法和barplot相似

3.3 pointplot()

# 3、pointplot()
# 折线图 - 置信区间估计

sns.pointplot(x="time", y="total_bill", hue = ‘smoker‘,data=tips,
              palette = ‘hls‘,
              dodge = True,   # 设置点是否分开
              join = True,    # 是否连线
              markers=["o", "x"], linestyles=["-", "--"],  # 设置点样式、线型
              )
tips.groupby([‘time‘,‘smoker‘]).mean()[‘total_bill‘]
# 计算数据
# # 用法和barplot相似

原文地址:https://www.cnblogs.com/shengyang17/p/9704708.html

时间: 2024-10-12 09:49:02

Python图表数据可视化Seaborn:2. 分类数据可视化的相关文章

Python图表分布数据可视化:Seaborn

conda  install seaborn  是安装到jupyter那个环境的 1. 整体风格设置 对图表整体颜色.比例等进行风格设置,包括颜色色板等调用系统风格进行数据可视化 set() / set_style() / axes_style() / despine() / set_context() import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns % ma

Python图表数据可视化Seaborn:3. 线性关系| 时间线| 热图

1. 线性关系数据可视化 lmplot() import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns % matplotlib inline sns.set_style("darkgrid") sns.set_context("paper") # 设置风格.尺度 import warnings warnings.filterwarnings

数据可视化 seaborn绘图(2)

统计关系可视化 最常用的关系可视化的函数是relplot seaborn.relplot(x=None, y=None, hue=None, size=None, style=None, data=None, row=None, col=None, col_wrap=None, row_order=None, col_order=None, palette=None, hue_order=None, hue_norm=None, sizes=None, size_order=None, size

Excel数据可视化:一样的数据不一样的图表——互动出版网

这篇是计算机类的优质预售推荐>>>><Excel数据可视化:一样的数据不一样的图表> 金牌品质:本书已授权台湾松岗出版社以繁体字率先出版,书香两岸! 内容简介 一句话有多种表达方式,陈述句.祈使句.疑问句--不同的场合会使用不同的语句,而不同的语句表达的效果也是迥然不同的.数据图表化也是一样,不同的操作者会选择不一样的效果,这可能与技术水平有关,也与行业情况有关,但是无论采用哪种方式,操作者都会选择一种更便于理解.便于接受的方式,否则图表所表达的直观效果就毫无意义.而本

Python数据可视化编程实战——导入数据

1.从csv文件导入数据 原理:with语句打开文件并绑定到对象f.不必担心在操作完资源后去关闭数据文件,with的上下文管理器会帮助处理.然后,csv.reader()方法返回reader对象,通过该对象遍历所读取文件的所有行. 1 #!/usr/bin/env python 2 3 import csv 4 5 filename = 'ch02-data.csv' 6 7 data = [] 8 try: 9 with open(filename) as f: 10 reader = csv

使用python中的matplotlib进行绘图分析数据

http://blog.csdn.net/pipisorry/article/details/37742423 matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 它的文档相当完备,并且 Gallery页面 中有上百幅缩略图,打开之后都有源程序.因此如果你需要绘制某种类型的图,只需要在这个页面中浏览/复制/粘贴一下,基本上都能搞定. 在Linux下比较著名的数据图工具

如何用 Python 和 API 收集与分析网络数据?

摘自 https://www.jianshu.com/p/d52020f0c247 本文以一款阿里云市场历史天气查询产品为例,为你逐步介绍如何用 Python 调用 API 收集.分析与可视化数据.希望你举一反三,轻松应对今后的 API 数据收集与分析任务. 市场 我们尝试的,是他们找到的阿里云市场的一款 API 产品,提供天气数据. 它来自于易源数据,链接在 https://market.aliyun.com/products/57096001/cmapi010812.html?spm=517

30天搞定大数据爬虫项目,数据爬虫、全文检索、数据可视化、爬虫项目监控

好,开始今天的文章. 今天主要是来说一下怎么可视化来监控你的爬虫的状态. 相信大家在跑爬虫的过程中,也会好奇自己养的爬虫一分钟可以爬多少页面,多大的数据量,当然查询的方式多种多样.今天我来讲一种可视化的方法. 关于爬虫数据在mongodb里的版本我写了一个可以热更新配置的版本,即添加了新的爬虫配置以后,不用重启程序,即可获取刚刚添加的爬虫的状态数据. 1.成品图 这个是监控服务器网速的最后成果,显示的是下载与上传的网速,单位为M.爬虫的原理都是一样的,只不过将数据存到InfluxDB的方式不一样

第二篇:Power BI数据可视化之基于网页数据的报表制作(经典级示例)

前言 报表制作流程的第一步显然是从各个数据源导入数据,Power BI能从很多种数据源导入数据:如Excel,CSV,XML,以及各类数据库(SQL Server,Oracle,My SQL等),两大主流开源平台(Hadoop,Spark)等等.本文篇幅所限,无法一一说明,仅就网页获取数据的方式进行讲解(其他方式大同小异). 然后本文将在Power BI后台工作区(下简称后台区)对获取到的数据集进行塑形.所谓塑形就是确定数据集的列名以及数据类型,还有进行一些基本数据清洗转换工作,以保证Power