大多数Seaborn绘图功能(例如seaborn.barplot
,seaborn.regplot
)在调用时都会返回matplotlib.pyplot.axes
,以便您可以使用此对象根据需要进一步自定义绘图。
但是,我想创建一个seaborn.lmplot
,它不返回轴对象。在深入研究seaborn.lmplot
和seaborn.FacetGrid
(在后端lmplot
使用它们的文档)之后,我发现 no 无法访问基础{{1} }对象。此外,尽管大多数其他seaborn函数允许您传递自己的axes
作为参数,以它们作为绘制图的依据,但axes
没有。
我想到的一件事是使用lmplot
,但这仅返回网格的 last plt.gca()
对象。
有什么方法可以访问axes
或axes
中的seaborn.lmplot
对象?
答案 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()
)在问题中说到