重新定位和增加R'生成的树状图周围的边界权重;绘图';功能

重新定位和增加R'生成的树状图周围的边界权重;绘图';功能,r,plot,hierarchical-clustering,dendrogram,R,Plot,Hierarchical Clustering,Dendrogram,我试图使用rect.hclust函数将树状图分为三类,但当我导出图形时,它会切断图形底部的边框。此外,我想增加边界的权重,但我不确定如何做到这一点,因为此函数似乎不存在lwd参数。如何修复这些参数 数据: cluster在绘制矩形之前,我将图形边距设置为零,从而绕过了缺少矩形下边缘的问题 矩形的线宽可以通过设置par(lwd)来设置,例如par(lwd=4),如下例所示: cluster当我导出图像时,在尝试您的边距修复后,我仍然会被切断。是否有一种特定的方法可以导出该图形,使其看起来像这样?这

我试图使用
rect.hclust
函数将树状图分为三类,但当我导出图形时,它会切断图形底部的边框。此外,我想增加边界的权重,但我不确定如何做到这一点,因为此函数似乎不存在
lwd
参数。如何修复这些参数

数据:


cluster在绘制矩形之前,我将图形边距设置为零,从而绕过了缺少矩形下边缘的问题

矩形的线宽可以通过设置par(lwd)来设置,例如
par(lwd=4)
,如下例所示:


cluster当我导出图像时,在尝试您的边距修复后,我仍然会被切断。是否有一种特定的方法可以导出该图形,使其看起来像这样?这可能取决于大小和纵横比。如果您想要矢量图形,请尝试使用
pdf(“dendro.pdf”,宽度=8,高度=4)
,如果您想要光栅图形,请尝试使用
png(“dendro.png”,宽度=800,高度=400)
。在可复制的示例中,我无法控制图像大小,结果显示为672x480。
cluster <- data.frame(plot=c(1,
                             2,
                             3,
                             4,
                             5,
                             6,
                             7,
                             8,
                             9,
                             10,
                             11,
                             12,
                             13,
                             14,
                             15,
                             16,
                             17,
                             18,
                             19,
                             20),
                      meas1 = c(443,
                                836,
                                903,
                                684,
                                94,
                                125,
                                733,
                                846,
                                625,
                                234,
                                437,
                                775,
                                269,
                                774,
                                17,
                                502,
                                80,
                                51,
                                523,
                                229),
                      meas2 = c(735,
                                574,
                                793,
                                261,
                                961,
                                136,
                                404,
                                138,
                                45,
                                935,
                                698,
                                675,
                                594,
                                497,
                                152,
                                153,
                                30,
                                667,
                                547,
                                745),
                      meas3 = c(23,
                                526,
                                36,
                                93,
                                708,
                                970,
                                399,
                                111,
                                456,
                                439,
                                569,
                                503,
                                337,
                                213,
                                399,
                                850,
                                614,
                                491,
                                28,
                                452))
#Generate distance matrix
dist_mat <- dist(cluster, method = 'euclidean')

#Hierarchical clustering 
hclust_avg <- hclust(dist_mat, method = 'average')

#Cut into 3 classes
cut_avg <- cutree(hclust_avg, k = 3)

#Plot dendrogram
plot(hclust_avg, xlab = "", ylab = "Euclidean Distance", sub = "", 
     main = "Cluster Dendrogram", lwd = 2)

#Generate borders around each group
rect.hclust(hclust_avg, k=3, border = 2:6)