Używam pakietu Phylo z Biopython do tworzenia drzew filogenetycznych.W python, jak mogę zmienić rozmiar czcionki węzłów liści podczas generowania drzew filogenetycznych za pomocą Bio.Phylo.draw()?
W przypadku dużych drzew muszę zmniejszyć rozmiar czcionki węzłów liści. Zasugerowano, aby zmienić matplotlib.pyplot.rcParams ['font.size'], ale to tylko pozwala mi zmieniać nazwy osi i tytuły, ponieważ Phylo definiuje własne rozmiary czcionek. Nie mogę zmienić kodu źródłowego Phylo, ponieważ używam go na Uniwersytecie. Definiowanie cyfr lub osi nie jest opcją, ponieważ Phylo.draw() tworzy własne.
Czy ktoś ma jakieś sugestie, jak rozwiązać problem, może rozciągając oś Y?
Dotychczas używałem następujący kod do wytworzenia drzewa:
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
Doskonale, dziękuję bardzo, dokładnie to chciałem. Inną rzeczą, którą możesz także wiedzieć, jest to, jak rozszerzyć maksymalną liczbę znaków w węzłach liści. Jak widać, niektóre nazwy są skracane i uzupełniane "..." – madcap
@madcap Tak jak w przypadku rozmiaru czcionki wypróbuj coś, co dotyczy szerokości linii (rcParams ["lines.linewidth"]). To może zadziałać. Jeśli nie, daj mi znać, że będę wyglądał dalej. Czy możesz jakoś przesłać mi swoje przykładowe drzewo, aby móc z nim grać? Fábio –
Wypróbuj następującą część drzewa, w której pięć nazw węzłów liści jest zbyt długich i nie są wyświetlane w całości. – madcap