Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将符号添加到R中的树叶树状图中_R_Plot_Key_Symbols_Dendrogram - Fatal编程技术网

将符号添加到R中的树叶树状图中

将符号添加到R中的树叶树状图中,r,plot,key,symbols,dendrogram,R,Plot,Key,Symbols,Dendrogram,我想在树状图的叶子上添加符号,以反映树状图上类似以下位置的变量: 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

我想在树状图的叶子上添加符号,以反映树状图上类似以下位置的变量:

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    
require(图形)

hc可以使用
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)

为了使示例可读,符号的y坐标设置为绝对值。如果要使它们相对于绘图的坐标,请使用如下内容,其中
par(“usr”)
是一个带有绘图区域(x-left、x-right、y-bottom、y-top)的向量

y = par("usr")[3] - .04 * diff(par("usr")[3:4])

图例也可以用
符号
文本
绘制。这个想法是一样的,你可能可以自己解决它,即使它相当精细。

符号功能可以用某种迂回的方式来完成,但仍然有效。它不支持三角形,但有一些其他形状可供选择。在下面的演示中,请注意参数
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)

为了使示例可读,符号的y坐标设置为绝对值。如果要使它们相对于绘图的坐标,请使用如下内容,其中
par(“usr”)
是一个带有绘图区域(x-left、x-right、y-bottom、y-top)的向量

y = par("usr")[3] - .04 * diff(par("usr")[3:4])

图例也可以用
符号
文本
绘制。这个想法是一样的,你可能可以自己解决它,即使它相当复杂。

这对于传统的绘制hclust对象的方法来说是非常困难的。一个可能的选择是
ggdendro
包。不久前我注意到了这一点,看起来它可能可以做你想做的事情。这对于传统的绘制hclust对象的方法来说是非常困难的。一个可能的选择是
ggdendro
包。不久前我注意到了这一点,看起来它可能可以做你想做的事情。谢谢!当然可以,但我想知道是否有任何方法可以自动添加标签,因为我有数百片叶子?哦,是的,非常肯定,但你必须为它制定自己的表达式。例如,
col=c(“灰色”、“红色”)[cut(USArrests$谋杀[hc$order],c(8,10,15))
自动为圆圈着色。我没有在答案中加上这个,因为我假设你只想知道如何添加符号,这超出了问题的范围谢谢!当然可以,但我想知道是否有任何方法可以自动添加标签,因为我有数百片叶子?哦,是的,非常肯定,但你必须为它制定自己的表达式。例如,
col=c(“灰色”、“红色”)[cut(USArrests$谋杀[hc$order],c(8,10,15))
自动为圆圈着色。我没有在答案中添加这一点,因为我假设您只想知道如何添加符号,这超出了问题的范围