防止标签在 hclust/树状图中剪裁

Posted

技术标签:

【中文标题】防止标签在 hclust/树状图中剪裁【英文标题】:Prevent labels from clipping in hclust/dendrogram plot 【发布时间】:2017-09-22 23:29:10 【问题描述】:

我正在制作树状图来比较州之间鸟类的歌曲相似性。但是,当我生成绘图时,我无法弄清楚如何防止状态名称被剪裁(click for example)。有什么想法吗?

代码:

var.towhee <- read.csv(file="states.csv", header=TRUE, fill=TRUE)
rownames(var.towhee) <-var.towhee$State # Set row names to state name
var.towhee <- var.towhee[,-1] # Remove state column 

library(vegan)
library(permute)
library(lattice)

norm <- decostand(var.towhee, method="normalize") # Normalize data
dis <- vegdist(norm, method="euclidian") # Calculate distances
UPGMA <- hclust(dis, method="average") # Cluster using UPGMA method
UPGMA <- as.dendrogram(UPGMA) # Convert hclust objects into dendrogram objects

plot(UPGMA, horiz=TRUE, xlab="Song Distance")

作为参考,这是我的数据的格式:

            Variable 1    Variable 2    Variable 3
State 1     123           123           123
State 2     123           123           123
State 3     123           123           123

请注意,我已将行名称设置为状态而不是数字。这就是情节从中获取标签的地方。

【问题讨论】:

【参考方案1】:

设置mar参数即可解决问题。 下面是一个带有剪裁标签的树状图示例:

hc <- hclust(dist(USArrests), "ave")
hc <- as.dendrogram(hc)
par(mar=c(3,4,1,1))
plot(hc, horiz=TRUE)

这里是带有完整标签的图:

par(mar=c(3,4,1,6))
plot(hc, horiz=TRUE)

【讨论】:

如此简单!这非常有效。感谢您的帮助。

以上是关于防止标签在 hclust/树状图中剪裁的主要内容,如果未能解决你的问题,请参考以下文章

抑制树状图中的叶子标签

如何使用 R 根据子项的标签标记树状图中的每个节点

如何在分层热图树状图中添加聚类矩形

解决echarts中饼图标签重叠的问题

如何在 R 树状图中正确着色边缘或绘制矩形?

如何手动创建树状图(或“hclust”)对象? (在 R 中)