私は樹状図描画機能を備えたRでape(系統解析と進化の分析)パッケージを使用しています。次のコマンドを使用してデータをNewick形式で読み取り、関数plotを使用して樹状図を描画します。
library("ape")
gcPhylo <-read.tree(file = "gc.tree")
plot(gcPhylo, show.node.label = TRUE)
データセットは非常に大きいため、ツリーの下位レベルで詳細を確認することはできません。黒い部分だけが見えますが、詳細はわかりません。上から数レベルしか表示されず、詳細は表示されません。
プロット機能にズーム機能があるかどうか疑問に思っていました。 xLimとyLimを使用して領域を制限しようとしましたが、それらは領域を制限するだけであり、詳細を表示するためにズームしません。ズームするか、ズームせずに詳細を表示すると、問題が解決します。
また、問題の解決に役立つ他のパッケージ、機能、またはツールを知っていただければ幸いです。
ありがとう。
他の回答で説明されているcut
関数は非常に優れたソリューションです。インタラクティブな調査のためにツリー全体を1ページに維持したい場合は、PDFの大きなページにプロットすることもできます。
結果のPDFはベクトル化されるため、お気に入りのPDFビューアを使用して、解像度を失うことなくズームインできます。
これは、プロット出力をPDFに送る方法の例です。
# Open a PDF for plotting; units are inches by default
pdf("/path/to/a/pdf/file.pdf", width=40, height=15)
# Do some plotting
plot(gcPhylo)
# Close the PDF file's associated graphics device (necessary to finalize the output)
dev.off()
指定された高さで樹状図をcut
して要素をプロットすることが可能です:
まず、組み込みデータセットUSArrests
を使用してクラスタリングを作成します。次に、dendrogram
に変換します。
hc <- hclust(dist(USArrests))
hcd <- as.dendrogram(hc)
次に、cut.dendrogram
指定した高さでカットするには、この場合h=75
。これにより、カットのupper
ビットの系統樹のリストと、カットの下のbranch
ごとに1つずつの系統樹のリストが生成されます。
par(mfrow=c(3,1))
plot(hcd, main="Main")
plot(cut(hcd, h=75)$upper,
main="Upper tree of cut at h=75")
plot(cut(hcd, h=75)$lower[[2]],
main="Second branch of lower tree with cut at h=75")