Seaborn Lmplot中的访问轴对象

时间:2018-09-08 11:35:36

标签: python matplotlib data-visualization seaborn

大多数Seaborn绘图功能(例如seaborn.barplotseaborn.regplot)在调用时都会返回matplotlib.pyplot.axes,以便您可以使用此对象根据需要进一步自定义绘图。

但是,我想创建一个seaborn.lmplot,它不返回轴对象。在深入研究seaborn.lmplotseaborn.FacetGrid(在后端lmplot使用它们的文档)之后,我发现 no 无法访问基础{{1} }对象。此外,尽管大多数其他seaborn函数允许您传递自己的axes作为参数,以它们作为绘制图的依据,但axes 没有

我想到的一件事是使用lmplot,但这仅返回网格的 last plt.gca()对象。

有什么方法可以访问axesaxes中的seaborn.lmplot对象?

1 个答案:

答案 0 :(得分:2)

是的,您可以像这样访问matplotlib.pyplot.axes对象:

import seaborn as sns
lm = sns.lmplot(...)  # draw a grid of plots
ax = lm.axes  # access a grid of 'axes' objects

在这里,ax是一个数组,在子图中包含所有个轴对象。您可以像这样访问每个人:

ax.shape  # see the shape of the array containing the 'axes' objects
ax[0, 0]  # the top-left (first) subplot 
ax[i, j]  # the subplot on the i-th row of the j-th column

如果只有一个子图,则可以按上面显示的方式(用ax[0, 0]来访问它,也可以通过(plt.gca())在问题中说到