问题描述
我使用以下命令制作了lmplot列图(子图):
I've made a lmplot column plot (subplot) using the following commands:
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})
FacetGrid似乎将所有子图的ylim设置为所有数据中的最大值.我想为每个子图分别设置ylim.我首先看了这个问题的答案:
The FacetGrid seems to set the ylim of all subplots to the maximum value in all of the data. I would like to set the ylim individually for each subplot. I first looked to the answer of this question:
如何设置一些xlim和ylim在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.也许我没有访问右轴?我真的很感谢您的帮助.
However, this method also seems to give the same ylim for all subplots. Maybe I'm not accessing the right axis? I'd really appreciate some help.
推荐答案
如果您希望能够更改FacetGrid
中某个特定图的ylim,则必须使用g = sns.lmplot(..., sharey=False)
If you want to be able to alter the ylim of one particular plot in the FacetGrid
you have to explicitly create it with 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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!