Python 将地物对象添加到AxesSubplot Gridspec

Python 将地物对象添加到AxesSubplot Gridspec,python,matplotlib,biopython,Python,Matplotlib,Biopython,我正在使用Biopython的Phylo模块生成一棵树,并进一步使用gcf将当前树保存为matplotlib的图形对象 tree = Phylo.read("my tree.nwk", "newick") Phylo.draw(tree) tree_f=plt.gcf() 我希望能够在子地块中使用此地物对象: gs = gridspec.GridSpec(1, 2, height_ratios=[1, 1, -2, 2], widt

我正在使用Biopython的
Phylo
模块生成一棵树,并进一步使用
gcf
将当前树保存为
matplotlib
的图形对象

tree = Phylo.read("my tree.nwk", "newick")  
Phylo.draw(tree)
tree_f=plt.gcf()
我希望能够在子地块中使用此地物对象:

gs = gridspec.GridSpec(1, 2, height_ratios=[1, 1, -2, 2],
                             width_ratios=[1, 1, -2, 2], hspace=0, wspace=0) 
phyl_ax = plt.subplot(gs[0])
ht_ax = plt.subplot(gs[1])
如何使phyl_ax占据一个地物对象

我尝试了
phyl\u ax(tree\u f)
,但失败的原因是:

TypeError:“AxeSubPlot”对象不可调用


我没有使用Phylo,但从中可以看出,您只需要将轴设置为关键字:

phyl_ax=plt.subplot(gs[0])   
Phylo.draw(tree, axes=phyl_ax)

试过这个。它说:TypeError:draw()得到了一个意外的关键字参数'axes'draw需要一个“matplotlib.axes.axes”对象,因为我使用的是gridspec phyl_ax,所以它是一个“matplotlib.axes.AxesSubplot”对象。我是否正确地假设这是导致它产生错误的原因?还有什么办法吗?别这么想。如果执行
isinstance(phyl\u ax,matplotlib.axes.axes)
?您使用的是Phylo的最新版本吗?升级BioPython有帮助。