How to plot a phylogeny in a different direction
Closed this issue · 1 comments
xieduo7 commented
Hi @evogytis ,
How to plot a phylogenetic tree in such direction like following:
![image](https://private-user-images.githubusercontent.com/35059160/332442546-a89ef9ba-c5b4-46e8-89af-9982bab89582.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk3NDMzMDUsIm5iZiI6MTcxOTc0MzAwNSwicGF0aCI6Ii8zNTA1OTE2MC8zMzI0NDI1NDYtYTg5ZWY5YmEtYzViNC00NmU4LTg5YWYtOTk4MmJhYjg5NTgyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjMwVDEwMjMyNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTI1ODAwZDQ0OTFmNjIwMDA4YWRiMDBhNTk5MmY2ODJlZDMxNDg1M2E0NzE4MGJiOGJkZWQ3MjQ1MGRjMWQxNzUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.dghQE_WknN9V3YIbhgBymKy6C0DNOYcRrqLHVi7rHi4)
By rotating? I looked for the example plots in the gallery but couldn't find them.
Thank you very much,
Best,
Duo
evogytis commented
Hi @xieduo7,
Currently horizontally tilted trees aren't natively supported in baltic
but here's a way to hack it if you don't mind non-rectangular branch connections:
import baltic as bt
import matplotlib as mpl
from matplotlib import pyplot as plt
from matplotlib.gridspec import GridSpec
ll=bt.make_tree('((A:1,B:1):1,C:2);')
ll.treeStats()
ll.sortBranches()
fig = plt.figure(figsize=(5,5),facecolor='w')
gs = GridSpec(1,1,hspace=0.01,wspace=0.0)
ax=plt.subplot(gs[0],facecolor='w')
ll.plotTree(ax,
x_attr=lambda k: k.y,
y_attr=lambda k: ll.treeHeight-k.height,
connection_type='direct')
ax.plot()
plt.show()