参数 | 解释 | 变量 |
---|---|---|
x,y,hue | 数据集变量 | 变量名 |
date | 数据集 | 数据集名 |
row,col | 更多分类变量进行平铺显示 | 变量名 |
col_wrap | 每行的最高平铺数 | 整数 |
estimator | 在每一个分类中进行矢量到标量的映射 | 矢量 |
ci | 置信区间 | 浮点数或None |
n_boot | 计算置信区间时使用的引导迭代次数 整数 | |
units | 采样单元的标识符,用于执行多级引导和重复测量设计 | 数据变量或向量数据 |
order, hue_order | 对应排序列表 | 字符串列表 |
row_order, col_order | 对应排序列表 | 字符串列表 |
kind | point 默认, bar 柱形图, count 频次, box 箱体, violin 提琴, strip 散点,swarm 分散点 | (具体图形参考文章前部的分类介绍) |
size | 每一个面的高度(英寸) | 标量 |
aspect | 纵横比 | 标量 |
orient | 方向 | "v"/"h" |
color | 颜色 | matplotlib颜色 |
palette | 调色板 | seaborn颜色色板或字典 |
legend hue的信息面板 | True/False | |
legend_out | 是否扩展图形,并将信息框绘制在中心右边 | True/False |
share{x,y} | 共享轴线 | True/False |
facet_kws | FacetGrid的其余参数 | 字典 |
%matplotlib inline
import numpy as np
import pandas as pd
from scipy import stats,integrate
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(style="whitegrid",color_codes=True)
#生成分类数据随机种子
#map能够把一个 list 转换为另外一个 list,只须要传入转换函数。
#ord函数主要用来返回对应字符的ascii码,接受一个参数,返回值是int,整数
np.random.seed(sum(map(ord,"category")))
#自带的数据集
titanic=sns.load_dataset("titanic")
tips=sns.load_dataset("tips")
iris=sns.load_dataset("iris")
sns.stripplot(x="day",y="total_bill",data=tips)
1.重叠是很常见的现象,可是重叠影响观察数据的量,有以下方法解决:javascript
1-1.加入抖动量jittercss
sns.stripplot(x="day",y="total_bill",data=tips,jitter=True)
1-2. 画分簇散点图:它使用避免重叠点的算法将分类轴上的每一个散点图点定位html
sns.swarmplot(x="day",y="total_bill",data=tips)
sns.swarmplot(x="day",y="total_bill",data=tips,hue="sex")
#您能够使用orient关键字强制定向,但一般能够从传递给x和/或y的变量的数据类型推断绘图方向
sns.swarmplot(x="total_bill", y="day", hue="time", data=tips);
sns.boxplot(x="day",y="total_bill",hue="time",data=tips);
sns.violinplot(y="day",x="total_bill",hue="sex",data=tips)
2-1 小提琴图分割特征java
sns.violinplot(x="day",y="total_bill",hue="sex",data=tips,split=True)
2-2两种图相互叠加python
sns.violinplot(x="day",y="total_bill",data=tips,inner=None)
sns.swarmplot(x="day",y="total_bill",data=tips,color="w",alpha=0.5)
sns.barplot(x="sex",y="survived",hue="class",data=titanic)
sns.pointplot(x="sex",y="survived",hue="class",data=titanic)
sns.pointplot(x="class",y="survived",hue="sex",data=titanic,
palette={"male":"g","female":"m"},#设置颜色
markers=["^","o"], linestyles=["-","--"]) #设置标记,线性
5.宽形数据jquery
sns.boxplot(data=iris,orient="h")#,orient="h"指定画图方向是横的
6.多层面板分类图linux
sns.factorplot(x="day",y="total_bill",hue="smoker",data=tips)
sns.factorplot(x="day",y="total_bill",hue="smoker",data=tips,kind="bar")
sns.factorplot(x="day",y="total_bill",hue="smoker",data=tips,kind="swarm",col="time")
sns.factorplot(x="day",y="total_bill",hue="smoker",data=tips,kind="box",col="day",size=4,aspect=0.5)