如何基于Pandas列类别用Seaborn生成行列网格子图?
实现指定列数的网格子图布局
直接利用Seaborn displot的col_wrap参数即可实现按指定列数自动分行的网格布局,无需额外处理。
核心代码
import seaborn as sns import pandas as pd # 基于你的DataFrame df生成5列网格的分布图 sns.displot(data=df, x="A", col="B", col_wrap=5)
参数说明
col="B":按变量B的不同取值拆分生成独立子图col_wrap=5:限制每行最多显示5个子图,剩余子图会自动换行,总行数会根据B的取值数量自动计算(50个取值对应10行)
可选优化:调整子图尺寸
如果需要适配子图内容,可以搭配height和aspect参数调整单个子图的大小:
sns.displot(data=df, x="A", col="B", col_wrap=5, height=3, aspect=1.2)
height:设置单个子图的高度(单位:英寸)aspect:设置子图的宽高比,大于1的值会让子图更宽
内容的提问来源于stack exchange,提问作者datadatadata
相关产品推荐
相关产品推荐

