Python 将地物对象添加到AxesSubplot Gridspec
我正在使用Biopython的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
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有帮助。