多变量分析绘图及分类属性绘图【知识整理】

综述

学生党整理一些关于数据分析的知识:整理了多变量分析绘图及分类属性绘图的相关代码。主要包括了多指标离散图的绘制、盒图的绘制、violin图的绘制、条形图的绘制、点图的绘制、多层面板分类图的绘制及factorplot()函数的详细说明。

代码模块

调用库

import seaborn as sns
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats, integrate

导入数据及sns.set设置

sns.set(style="whitegrid",  color_codes=True)
np.random.seed(sum(map(ord, "categorical"))) #随机数种子
titanic = pd.read_csv('titanic_train.csv')
tips = pd.read_csv('tips.csv')
iris = pd.read_csv('iris.csv')

多指标离散图绘制

绘图未优化前

sns.stripplot(x = "day", y = "total_bill",  data = tips,jitter=False)
plt.show()

在这里插入图片描述
绘图优化后

sns.stripplot(x = "day", y = "total_bill",  data = tips,jitter=False)
plt.show()

在这里插入图片描述
绘图类似正态化优化

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

在这里插入图片描述
增加性别后的正态化优化

sns.swarmplot(x = "day", y = "total_bill", hue="sex",data = tips)
plt.show()

在这里插入图片描述
将图片横向

sns.swarmplot(x = 'total_bill', y = 'day', hue = "time",data=tips)
plt.show()

在这里插入图片描述

盒图

盒图中,矩形表示IQR,即统计学概念四分位距,数据1/4到3/4之间的距离
N = 1.5IQR 如果一个值 大于3/4+N 或 小于1/4-N,则为离群点

sns.boxplot(x = 'day', y = 'total_bill', hue = 'time', data=tips)
plt.show()

在这里插入图片描述
横向盒图

sns.boxplot(data=iris, orient='h')
plt.show()

在这里插入图片描述

violin图

一半violin图

sns.violinplot(x = 'total_bill',y = 'day', hue = 'time', data=tips)
plt.show()

在这里插入图片描述
高级版violin图

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

在这里插入图片描述
优化后的散点和violin图结合

sns.violinplot(x = 'day', y = 'total_bill', data=tips, inner=None)
sns.swarmplot(x = 'day', y = 'total_bill', data = tips, color='w',alpha = .5)
plt.show()

在这里插入图片描述

条形图

显示值的集中趋势可以用条形图

sns.barplot(x = 'Sex', y = 'Survived', hue = 'Pclass', data=titanic)
plt.show()

在这里插入图片描述

点图

可以更好的描述变化差异

sns.pointplot(x = 'Sex', y = 'Survived',hue = 'Pclass', data = titanic)
plt.show()

在这里插入图片描述
设置颜色,图标和线条样式

sns.pointplot(hue = 'Sex', y = 'Survived',x = 'Pclass', data = titanic,
              palette= {'male':'g','female':'m'},
              markers=['^','o'],linestyles=['-','--'])
plt.show()

在这里插入图片描述

多层面板分类图

折线图

sns.factorplot(x = 'day', y = 'total_bill', hue = 'smoker', data = tips)
plt.show()

在这里插入图片描述
条形图

sns.factorplot(x = 'day', y = 'total_bill', hue = 'smoker', data = tips,kind = 'bar')
plt.show()

在这里插入图片描述
多纬度绘图

sns.factorplot(x = 'day', y = 'total_bill', hue = 'smoker',
               col = 'time', data = tips, kind = 'swarm')
plt.show()

在这里插入图片描述
多维度盒图

sns.factorplot(x = 'time', y = 'total_bill', hue = 'smoker',
               col = 'day', data = tips, kind = 'box', size = 4, aspect = .5)
plt.show()

在这里插入图片描述

factorplot()详细说明

factorplot()函数中可以使用的参数

  • x,y,hue 数据集变量 变量名
  • date 数据集 数据名称
  • row,col 更多分类变量进行平铺显示 变量名
  • col_wrap 每行的最高平铺数 整数
  • estimator 在每个分类中进行矢量到标量的映射 矢量
  • ci 置信区间 浮点数或者None
  • n_boot计算置信区间时使用的引导迭代次数整数
  • units 采样单元的标识符,用于执行多级引导和重复测量设计 数据变量或向量数据
  • order,hue_order 对应排序列表 字符串列表
  • row_order,col_order 对应排序列表 字符串列表
kind可选
1point默认
2bar柱形图
3box箱体
4count频次
5violin提琴
6strip散点
7swarm分散点
8size每个面的高度(英寸)
9aspect标量 纵横比
10orient标量 方向“v/h”
11color颜色
12matplotlib颜色
13palette调色板
14seaborn颜色色板或字典
15legendhue的信息面板
16True/False legend_out是否扩展图形,并将信息框绘制在中心右边
17True/Falseshare(x,y)共享轴线
18True/False

小结

绘图知识整理部分主要针对绘图方法,具体在数据分析过程中使用哪种图片在之后具体的数据分析案例中详细说明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值