将图形对象添加到AxesSubplot的Gridspec中

0 投票
1 回答
1492 浏览
提问于 2025-04-18 01:54

我正在使用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_ax(tree_f),但这样会出错,提示:

类型错误:'AxesSubplot'对象不可调用。

1 个回答

1

我没有使用过Phylo,但从文档来看,似乎只需要把你的坐标轴设置为一个关键词就可以了:

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

撰写回答