sns.load_dataset()
下面将分成几个部分介绍 seaborn
序号 | 绘图类型名称 | 说明 |
---|---|---|
1 | Relational plots(关系图) | 用来表示两个连续变量的关系 |
2 | Categorical plots(分类图) | 表示两个变量之间的关系,其中一个变量是离散的 |
3 | Categorical distribution plots(分类分布图) | 表示两个变量之间的关系,两个变量都是是离散的 |
4 | Distribution plots (分布图) | 对原变量进行统计计算,展示其统计特征的绘图 |
5 | Regression plots(回归图) | 在散点图的基础上,拟合出一条线 |
示例数据集 :https://github.com/mwaskom/seaborn-data
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style='white') # 指定画板底色
tips = pd.read_csv(r'../input/seaborn-data/tips.csv')
tips.head()
seaborn.scatterplot(x=None, y=None, hue=None, style=None, size=None,
data=None, palette=None, hue_order=None, hue_norm=None, sizes=None,
size_order=None, size_norm=None, markers=True, style_order=None,
x_bins=None, y_bins=None, units=None, estimator=None, ci=95, n_boot=1000,
alpha='auto', x_jitter=None, y_jitter=None, legend='brief', ax=None, **kwargs)
sns.scatterplot(data=tips, x="total_bill", y="tip")
1)hue 指定离散的非数字值,比如 “time”,取值为 Dinner、Lunch
sns.scatterplot(data=tips, x="total_bill", y="tip", hue="time")
2)如果hue指定的变量是数字,且语义映射是定量的,图例会按枚举值列出来
sns.scatterplot(data=tips, x="total_bill", y="tip", hue="size")
3)如果hue指定参数为大量唯一的数值,图例将显示一个具有代表性的等间距集合
tip_rate = tips.eval("tip / total_bill").rename("tip_rate")
sns.scatterplot(data=tips, x="total_bill", y="tip", hue=tip_rate)
4)hue 配合参数palette来指定颜色
简单说下palette可选择的值: deep、muted、bright、pastel、drak、colorbind
sns.scatterplot(data=tips, x="total_bill", y="tip", hue="size", palette="deep")
makers 的样式汇总
sns.scatterplot(data=tips, x="total_bill", y="tip", hue="time", style="time")
# hue 和 style 分别指定两个不同的变量
sns.scatterplot(data=tips, x="total_bill", y="tip", hue="day", style="time")
# 配合参数 makers 使用, 指定标记样式
markers = {"Lunch": "s", "Dinner": "X"}
sns.scatterplot(data=tips, x="total_bill", y="tip", style="time", markers=markers)
sns.scatterplot(x="total_bill", y="tip", size="size", data=tips);
sns.scatterplot(data=tips, x="total_bill", y="tip", hue="size", size="size")
控制标记区域的大小范围,设置legend ="full"强制每个唯一的值出现在图例中
sns.scatterplot(data=tips, x="total_bill", y="tip", hue="size",
size="size", sizes=(20, 200), legend="full")
如果需要分子图绘制,则需要使用函数 sns.relplot(), 指定kind=“scatter” , 参数 col 用来指定需要分图绘制的维度
sns.relplot(data=tips, x="total_bill", y="tip", col="time", hue="day", style="day",kind="scatter")
2、Categorical plots(分类图)
3、Categorical distribution plots(分类分布图)
barplot
piontplot
countplot:只可以指定一个变量
catplot:可以通过kind参数来指定画什么图形,kind可取值 ‘strip’, ‘swarm’, ‘box’, ‘violin’,‘point’ ,‘count’, ‘bar’
4、Distribution plots (分布图)
5、Regression plots(回归图)
6、Matrix plots(矩阵图)
7、FacetGrid
8、PairGrid