You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:如何在Seaborn的lmplot中正确设置图形尺寸?

解决Seaborn lmplot忽略图形尺寸设置的问题

这个坑我之前踩过!你用sns.set(rc={'figure.figsize':(18,16)})没效果的原因是:lmplot是基于FacetGrid实现的,它会独立初始化图形尺寸,不会继承全局的figure.figsize配置。给你两种简单有效的解决方法:

方法1:直接在lmplot中指定尺寸参数

lmplot自带height和aspect两个参数来控制尺寸:

  • height:单个子图的高度(单位:英寸)
  • aspect:子图的宽高比(整体宽度 = height × aspect)

如果你想要整体图形尺寸是18×16,只需要计算对应的参数值:

sns.lmplot(
    x='index', 
    y='values', 
    data=data.reset_index(), 
    hue='data',
    height=16,  # 对应目标高度16英寸
    aspect=18/16  # 宽度=16×(18/16)=18英寸
)

方法2:获取FacetGrid对象后修改尺寸

先创建绘图对象,再通过set_size_inches()直接设置整体尺寸:

g = sns.lmplot(x='index', y='values', data=data.reset_index(), hue='data')
g.fig.set_size_inches(18, 16)  # 直接指定宽高

这两种方法都能完美覆盖lmplot的默认尺寸,你可以根据自己的习惯选择~

内容的提问来源于stack exchange,提问作者user8270077

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 14:57:29