gpt4 book ai didi

r - 在R中向树状图叶添加符号

转载 作者:行者123 更新时间:2023-12-04 18:13:23 25 4
gpt4 key购买 nike

我想在树状图的叶子上添加符号,以反射(reflect)树状图上类似于此的站点的变量:

require(graphics)

hc <- hclust(dist(USArrests[1:5,]), "ave")
plot(hc)
plot(hc, hang = -1)

USArrests[1:5,]

Murder Assault UrbanPop Rape
Alabama 13.2 236 58 21.2
Alaska 10.0 263 48 44.5
Arizona 8.1 294 80 31.0
Arkansas 8.8 190 50 19.5
California 9.0 276 91 40.6

enter image description here

感谢您提供有关如何解决此问题的任何建议

解决方案
遵循 Backlin 的有用建议,我使用以下解决方案
require(graphics)

hc <- hclust(dist(USArrests[1:5,]), "ave")

plot(hc, hang = -1, xlab="", sub="")

col.circle=c("yellow", "red")[cut(USArrests$Murder[hc$order], c(8,10,15))]

symbols(1:5, rep(-25, 5), circles=rep(1, 5), add=TRUE, inches=.2,bg=col.circle, xpd=TRUE)

col.square=c("blue", "green")[cut(USArrests$Assault[hc$order], c(100,200,300))]

symbols(1:5, rep(-35, 5), squares=rep(1, 5), add=TRUE, inches=.4,bg=col.square, xpd=TRUE)

legend(3.7,85,legend=c("Murder 8-10","Murder 10-15","Assualt 100-200","Assualt 200-300"),fill=c("yellow","red","blue","green"))

enter image description here

最佳答案

symbols函数可用于以某种迂回的方式完成此任务,但仍然有效。它不支持三角形,但有一些其他形状可供选择。在下面的演示中,注意参数 xpd=TRUE这允许您在绘图区域之外绘制,即在边距中。

plot(hc, hang = -1, xlab="", sub="")
symbols(1:5, rep(-25, 5), circles=rep(1, 5), add=TRUE, inches=.2,
bg=rep(c("grey", "red"), c(3,2)), xpd=TRUE)
symbols(1:5, rep(-35, 5), squares=rep(1, 5), add=TRUE, inches=.4,
bg=rep(c("grey", "red"), c(1,4)), xpd=TRUE)

enter image description here

为了示例的可读性,符号的 y 坐标设置为绝对值。如果要使它们相对于绘图的坐标,请使用以下内容,其中 par("usr")是绘图区域的 (x-left, x-right, y-bottom, y-top) 向量。
y = par("usr")[3] - .04 * diff(par("usr")[3:4])

也可以使用 symbol 绘制图例和 text .这个想法是一样的,你可能会自己弄清楚,即使它很繁琐。

关于r - 在R中向树状图叶添加符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12173838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com