3 分类变量的绘图

作者: readilen | 来源:发表于2018-03-24 13:08 被阅读122次

散点图在分类变量中不能使用,本章将讨论分类变量的显示方法。seaborn将分类变量的显示函数分成了三类:每个级别分类变量的观察,观察变量的抽象表示,统计估计表示。

  • 第一类使用函数swarmplot和stripplot
  • 第二类使用boxplot和violinplot
  • 第三类使用countplot和pointplot

分类变量的关联也有两种显示方式:

  • regplot和lmplot 的低级关联显示方式
  • factorplot和FacetGrid 高级关联显示方式

首先导入库和数据

import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(style="whitegrid", color_codes=True)
np.random.seed(sum(map(ord, "categorical")))
titanic = sns.load_dataset("titanic")
tips = sns.load_dataset("tips")
iris = sns.load_dataset("iris")

分类变量散点图

显示分类变量的散点图,最简单的函数是stripplot

sns.stripplot(x="day", y="total_bill", data=tips);
stripplot

我们发现每个分类中点都重合了,有点看不清楚,可以使用jitter来调整一下偏差

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

虽然散开了,但是由于比较密集,依然有重叠。swarmplot使用专用算法保证不重叠。

sns.swarmplot(x='day', y='total_bill', data=tips)
swarmplot

点不拥堵在一起了,开枝散叶了,这时我么还可以加入另一个分类

sns.swarmplot(x='day', y='total_bill', hue='sex', data=tips)
hue

分类变量分布图

一般来说散点图提供的信息有限,有时候我们需要分类变量的分布图,提供不同分类之间总体信息的比较。

箱线图

箱线图给出了4分位的值,极值,中位数等信息,较好的描述了离散变量的信息

sns.boxplot(x='day', y='total_bill', data=tips)
boxplot
琴音图

有时候我们需要核密度分布图,violinplot是个选择

sns.violinplot(x='day', y='total_bill', hue='sex', data=tips, split=True)
violinplot

swarmplot,violinplot,boxplot,stripplot个和函数可以混合使用

sns.violinplot(x="day", y="total_bill", data=tips, inner=None)
sns.swarmplot(x="day", y="total_bill", data=tips, color="w", alpha=.5);
mix

分类变量的统计估计

除了显示分布,还可以显示中心趋势,seaborn有两个基本的API,barplot,countplot

sns.barplot(x="sex", y="survived", hue="class", data=titanic)
barplot
sns.countplot(x="deck", data=titanic, palette="Greens_d");
contplot

多面板的分类变量图

两种方法添加面板 factorplot或者|FacetGrid

sns.factorplot(x="day", y="total_bill", hue="smoker",
               col="time", data=tips, kind="swarm");
factorplot
sns.factorplot(x="time", y="total_bill", hue="smoker",
               col="day", data=tips, kind="box", size=4, aspect=.5);
factorplot
g = sns.PairGrid(tips,
                 x_vars=["smoker", "time", "sex"],
                 y_vars=["total_bill", "tip"],
                 aspect=.75, size=3.5)
g.map(sns.violinplot, palette="pastel");
PairGrid

相关文章

  • 3 分类变量的绘图

    散点图在分类变量中不能使用,本章将讨论分类变量的显示方法。seaborn将分类变量的显示函数分成了三类:每个级别分...

  • 2018-03-31

    变量分类:成员变量;局部变量:变量除了成员变量外其他都是局部变量 有3种方式:方法形参…… ...

  • 生存分析(2)——基线图

    因变量 自变量 自变量类型 分类变量分类变量包含有限的分类数或可区分组数。分类数据可能不是逻辑顺序,其包括二分类和...

  • MRC下的内存管理

    一、名词分类 1 拥有者:(变量,实例,函数,变量的作用域) 2 被拥有者:(变量,实例,函数,变量的作用域) 3...

  • R 语言-因子

    1、变量分类: (1)连续型变量(2)名义型变量(3)有序型变量在 R 中,名义型变量和有序型变量称为因子(fac...

  • 机器学习如何处理分类变量 [附python code]

    适合阅读人群:想初步了解分类变量的处理。 什么叫categorical data分类变量? 分类变量(catego...

  • Java学习第二天变量、常量和运算符

    今天学习内容如下: 1、字面量和常量2、引出变量3、变量分类、作用域和使用规则4、数据类型和分类5、boolean...

  • 关于分类变量

    什么是分类变量 分类变量(categorical variable) 分类变量,用于表示类别或标签类似于维度,描述...

  • C高阶3:变量分类

    1. 本地变量/局部变量 1.1 本地变量/局部变量是什么? 在大括号内定义的变量就是本地变量/局部变量。 1.2...

  • Java-day3

    常量 : 1、字面量常量:比如: 1,2,3,3.14,false,true等 变量: 分类:成员变量(f...

网友评论

  • 25848dccfd9e:冒昧打扰一下,有没有用过kalman滤波预测呀?

本文标题:3 分类变量的绘图

本文链接:https://www.haomeiwen.com/subject/rvdqcftx.html