Python分面多子图代码模版
分面图展示数据集(子集中)的变量分布或多个变量之间关系,也叫“格子图”或者“网格图”,帮助快速提取复杂数据集的大量信息。
分面图可以绘制多达三个维度:行(row)、列(col)和颜色(hue),在二维平面图中,row和col代表平面的长和宽两个维度,hue代表第三个维度。
具体实现时,seaborn有两种方法:
方法1,使用figure-level方法,这些方法内置FacetGrid方法; 方法2,seaborn axes-level方法结合FacetGrid方法实现分面功能。
以方法2举例,
axes-level结合FacetGrid分面图-按行列分面
g = sns.FacetGrid(
data=tips,
row="就餐时间", #行分面
col="是否吸烟", #列分面
height=4,
aspect=1)g.map(sns.scatterplot,
"消费金额 ($)",
"小费金额 ($)",
color="#a8a6a7",
s=150)
axes-level结合FacetGrid分面图-row变量标题位置
也可轻松实现按照变量进行颜色分组,改变标题位置等。
g = sns.FacetGrid(
data=tips,
margin_titles=True, #row变量的标题绘制在右侧
row="就餐时间",
col="是否吸烟",
hue="客人性别", #按照变量"客人性别"颜色分组
palette=["#006a8e", "#b1283a"],
height=3.5,
aspect=1)g.map(sns.scatterplot, "消费金额 ($)", "小费金额 ($)", s=150)
分面图-更加个性化
图中能看到的元素都可一设置,例如,标题字号、颜色、格式等等,
-END-
更多Python可视化模版(点击图片更精彩)