R树状图-将图像添加到节点标签

时间:2018-07-18 17:24:16

标签: r dendrogram

我正在尝试将图像添加到树状图中的节点标签(并且失败了)

绘制树状图的代码:

if (!require("pacman")) install.packages("pacman")
pacman::p_load("ape", "dendextend", "dplyr","png")

hc <- hclust(dist(USArrests), "ave")
hc_hor <- as.dendrogram(hc)

for (i in 1:length(hc$labels)){
png(paste0("fig_",i,".png"), width=200, height=200)
plot(USArrests$Murder)  
dev.off()
}

hc.label <- list()
for( i in length(hc$labels)){
hc.label[[i]] <- readPNG(paste0("fig_",i,".png"))
}

hc_hor <-  hc_hor %>%
set("branches_lwd", 1) %>% 
set("labels_cex", 0.5)
pdf("hc_hor_test.pdf", width = 100, height = 20)
plot(hc_hor, horiz = TRUE)
dev.off()

这给出了以下标准树状图(可缩放并带有可见文本)。完善! enter image description here

现在,我想要什么:图像(节点上为png)。 因此,我为该示例创建了一些图像,然后尝试将它们添加为标签。 代码:

if (!require("pacman")) install.packages("pacman")
pacman::p_load("ape", "dendextend", "dplyr","png")

hc <- hclust(dist(USArrests), "ave")
hc_hor <- as.dendrogram(hc)

for (i in 1:length(hc$labels)){
png(paste0("fig_",i,".png"), width=200, height=200)
plot(USArrests$Murder)  
dev.off()
}

hc.label <- list()
for( i in length(hc$labels)){
hc.label[[i]] <- readPNG(paste0("fig_",i,".png"))
}

hc_hor <-  hc_hor %>%
set("branches_lwd", 1) %>% 
set("labels_cex", 0.5) %>%
set("labels", hc.label)    # Change label
pdf("hc_hor_test.pdf", width = 100, height = 20)
plot(hc_hor, horiz = TRUE)
dev.off()

这导致了以下混乱: enter image description here

在做我想做的事情上的任何帮助都会有所帮助。我已经在其中搜索了R树状图,甚至R,但是都没有成功。

注意:这只是一个虚拟的例子,用以解释我在做什么。实际上,我正在使用ChemmineRChemmineOB来读取SDFset并创建树状图。树状图作为节点上的化学化合物。每种化合物都有可以使用plotStruc绘制的结构。我将plotStruc输出保存为png,并希望节点标签具有该结构以及名称。

如果您熟悉所有这些,我也可以共享相关代码。

0 个答案:

没有答案