0

我正在尝试在类似树状图的图中绘制树格式的数据。这些数据来自随着时间的推移对细胞分裂的测量,这正是我想要展示的方式。

经过大量数据争论后,我发现自己至少能够以 data.tree 包接受的方式格式化我的数据。也许我应该选择 ape 包格式,但那些“phylo”对象与 stats::as.dendrogram 不兼容。无论如何,这是数据的示例:

library(data.tree)

df <- data.frame(from = c(1,2,3,3,4,4),
                 to = c(2,3,4,5,6,7))

tree <- FromDataFrameNetwork(df)
plot(tree)

数据树结构

现在,我想将这些数据绘制为类似树状图的结构。方便的是,data.tree 可以简单地传递给 stats::as.dendrogram(),但它看起来不太正确:

plot(as.dendrogram(tree))

树状图

幸运的是,这种奇怪的行为可以通过定义分支应该连接到所有孩子的中心来解决:

plot(as.dendrogram(tree), center = TRUE)

固定树状图

这看起来很棒!为了更好地控制绘图参数(并为叶子上的点添加例如美学),我将其转换为 ggdendro 对象:

library(ggdendro)
ggdendrogram(as.dendrogram(tree))

ggdendro 情节

如您所见,在 ggdendro 图没有 center = TRUE 的情况下也会出现同样的问题。但是,无论我尝试什么,我似乎都找不到将正确的树状图数据提供给 ggdendro 包的方法。

有人熟悉帮助我的方法吗?

提前致谢!

4

0 回答 0