2016-07-06 16 views
2

初めて樹形図を作成し、クラスターの周囲の四角形をラベルの上に描画します。この重複を避けるために、これらのラベルの位置を変更する方法を知っていますか?Rとrect.hclust:樹形図のラベルの矩形

ここでは、私のコードの作業例を見つけることができます:私は赤を持っていると思います。特に

Worked example of dendrogram

mydata <- c(9.45, 10.54, 10.36, 10.46, 10.78, 10.1, 11.13) 
mydata.matrix <- matrix(mydata, nrow = 1, ncol = 7) 
colnames(mydata.matrix) <- c("a", "b", "c", "d", "e", "f", "g") 
rownames(mydata.matrix) <- c("X") 

d <- dist(mydata.matrix["X", ], method = "euclidean") 
fit <- hclust(d, method="ward.D") 

nodePar <- list(lab.cex = 0.6, pch = c(NA, 19), cex = 0.7, col = "blue") 
plot(as.dendrogram(fit), xlab = "", sub="", ylab = "Euclidean distance", 
    main = "Dendrogram", nodePar = nodePar) 

rect.hclust(fit, k=2, border="red") 

そしてここでは、上記のコードからプロットであります長方形は、樹状図の葉のラベルを完全に含む。

ありがとうございました!

答えて

1

は、あなたが例えばdendextend package.

からrect.dendrogram機能を使用する必要があります。

mydata <- c(9.45, 10.54, 10.36, 10.46, 10.78, 10.1, 11.13) 
mydata.matrix <- matrix(mydata, nrow = 1, ncol = 7) 
colnames(mydata.matrix) <- c("a", "b", "c", "d", "e", "f", "g") 
rownames(mydata.matrix) <- c("X") 

d <- dist(mydata.matrix["X", ], method = "euclidean") 
fit <- hclust(d, method="ward.D") 

nodePar <- list(lab.cex = 0.6, pch = c(NA, 19), cex = 0.7, col = "blue") 
dend <- as.dendrogram(fit) 
plot(dend, xlab = "", sub="", ylab = "Euclidean distance", 
    main = "Dendrogram", nodePar = nodePar) 

library(dendextend) 
rect.dendrogram(dend , k=2, border="red") 

そして、あなたが得る:一般的に enter image description here

を、樹状をプロットするために、次のことを見つけるかもしれません便利な(またはmore lengthy versionを見て)dendextendにquick introduction

+1

p.s .:ラベルが表示されていることを確認するには、おそらくpar(xpd = TRUE)などが必要になると思います。 –

関連する問題