How to set some xlim and ylim in Seaborn lmplot facetgrid

前端 未结 2 942
醉酒成梦
醉酒成梦 2020-11-29 18:37

I\'m using Seaborn\'s lmplot to plot a linear regression, dividing my dataset into two groups with a categorical variable.

For both x and y, I\'d like to manually se

相关标签:
2条回答
  • 2020-11-29 19:15

    The lmplot function returns a FacetGrid instance. This object has a method called set, to which you can pass key=value pairs and they will be set on each Axes object in the grid.

    Secondly, you can set only one side of an Axes limit in matplotlib by passing None for the value you want to remain as the default.

    Putting these together, we have:

    g = sns.lmplot('X', 'Y', df, col='Z', sharex=False, sharey=False)
    g.set(ylim=(0, None))
    

    enter image description here

    0 讨论(0)
  • 2020-11-29 19:19

    You need to get hold of the axes themselves. Probably the cleanest way is to change your last row:

    lm = sns.lmplot('X','Y',df,col='Z',sharex=False,sharey=False)
    

    Then you can get hold of the axes objects (an array of axes):

    axes = lm.axes
    

    After that you can tweak the axes properties

    axes[0,0].set_ylim(0,)
    axes[0,1].set_ylim(0,)
    

    creates:

    enter image description here

    0 讨论(0)
提交回复
热议问题