设置 seaborn lmplot 列的单个 ylim

Posted

技术标签:

【中文标题】设置 seaborn lmplot 列的单个 ylim【英文标题】:set individual ylim of seaborn lmplot columns 【发布时间】:2018-08-08 16:38:50 【问题描述】:

我使用以下命令制作了 lmplot 柱状图(子图):

g = sns.lmplot(x=COX, y='dX', data=tidy_data, hue='hue', col='comp', 
col_wrap=8, fit_reg=True, scatter=True, aspect=1.5,
            legend_out=True, truncate=True, scatter_kws="s": 200)

figure of the plotted lmplot FacetGrid

FacetGrid 似乎将所有子图的 ylim 设置为所有数据中的最大值。我想为每个子图单独设置 ylim。我首先查看了这个问题的答案:

How to set some xlim and ylim in Seaborn lmplot facetgrid

我测试过:

g.axes.shape
>>> (23, )

g.axes[0]
>>> AxesSubplot(0.0189366,0.704381;0.116079x0.258196)

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

但是,这种方法似乎也为所有子图提供了相同的 ylim。也许我没有访问正确的轴?我真的很感激一些帮助。

【问题讨论】:

How to set some xlim and ylim in Seaborn lmplot facetgrid的可能重复 【参考方案1】:

如果您希望能够更改 FacetGrid 中某个特定绘图的 ylim,您必须使用 g = sns.lmplot(..., sharey=False) 显式创建它

示例:

tips = sns.load_dataset("tips")
g = sns.lmplot(x="total_bill", y="tip", col="day", hue="day", data=tips, col_wrap=2, size=3, 
               sharey=False)
g.axes[0].set_ylim((0,100))

【讨论】:

以上是关于设置 seaborn lmplot 列的单个 ylim的主要内容,如果未能解决你的问题,请参考以下文章

seaborn:lmplot() 得到了一个意外的关键字参数“figsize”

在seaborn lmplot中访问轴对象[重复]

将类似日期时间的对象传递给 seaborn.lmplot

seaborn 的 lmplot 的输出没有绘制散点图和线性回归

如何在 seaborn lmplot 上添加标题?

在 dates.num2date(x) 之后的 Seaborn 未在图表 lmplot 上显示 X 等于 (x=y=7.51)