pythonic生物人

Python分面多子图代码模版

本次分享Python分面多子图代码模版。
更多Python可视化模版(点击图片更精彩)

Image


分面图展示数据集(子集中)的变量分布或多个变量之间关系,也叫“格子图”或者“网格图”,帮助快速提取复杂数据集的大量信息。

分面图可以绘制多达三个维度:行(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)

Image
分面图-举例1

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)

Image
分面图-举例2

分面图-更加个性化

图中能看到的元素都可一设置,例如,标题字号、颜色、格式等等,

Image
分面图-举例4

-END-

更多Python可视化模版(点击图片更精彩)

Image

ImageImage

Image