Ich verwende das Phylo-Paket von Biopython, um phylogenetische Bäume zu erstellen.In Python, wie kann ich die Schriftgröße von Blattknoten ändern, wenn phylogenetische Bäume mit Bio.Phylo.draw() erzeugt werden?
Für große Bäume muss ich die Schriftgröße der Blattknoten verringern. Es wurde vorgeschlagen, matplotlib.pyplot.rcParams ['font.size'] zu ändern, aber dies erlaubt mir nur, Achsennamen und Titel zu ändern, da Phylo seine eigenen Schriftgrößen definiert. Ich kann den Phylo-Quellcode nicht ändern, da ich ihn an der Universität verwende. Das Definieren von Zahlen oder Achsen ist keine Option, da Phylo.draw() eine eigene erstellt.
Hat jemand irgendwelche Vorschläge, wie man das Problem löst, vielleicht die y-Achse dehnen?
Bisher war ich mit dem folgenden Code, um den Baum zu produzieren:
import matplotlib
import matplotlib.pyplot as plt
from Bio import Phylo
from cStringIO import StringIO
def plot_tree(treedata, output_file):
handle = StringIO(treedata) # parse the newick string
tree = Phylo.read(handle, "newick")
matplotlib.rc('font', size=6)
Phylo.draw(tree)
plt.savefig(output_file)
return
Perfekt, vielen Dank, das ist genau das, was ich wollte. Eine andere Sache, die Sie vielleicht auch wissen, ist, wie Sie die maximale Anzahl von Zeichen der Blattknoten erweitern können. Wie Sie sehen, werden einige Namen abgekürzt und mit '...' vervollständigt. – madcap
@madcap Wie bei der Schriftgröße versuchen Sie etwas, das sich mit der Linienbreite beschäftigt (rcParams ["lines.linewidth"]). Es könnte funktionieren. Wenn nicht, lass mich wissen, dass ich weiter schauen werde. Kannst du mir deinen Beispielbaum irgendwie schicken, damit ich damit spielen kann? Fábio –
Probieren Sie den folgenden Teil der Baumstruktur aus, in dem fünf der Blattknoten-Namen zu lang sind und nicht vollständig angezeigt werden. – madcap