4

我有一棵有很多树枝的树。这是我绘制树的代码。问题是标签相互重叠,特别是在树的底部。有没有办法绘制树以使标签不重叠?

par(mfrow=c(1,1))
plot(prunedTree, type=c("uniform"))
text(prunedTree)

注意——我使用了“type=c("uniform"))”,因为它有助于较低分支的可读性。此外,prunedTree 是树包中的“树”类。

这是当前正在生产的产品的示例。

在此处输入图像描述

编辑:完全重现问题的代码。

load(url("https://spark-public.s3.amazonaws.com/dataanalysis/samsungData.rda"))
samsungData$subject <- factor(samsungData$subject)
samsungData$activity <- factor(samsungData$activity)
samsungData <- samsungData[, !c(duplicated(names(samsungData)))]
names(samsungData) <- gsub("[.]", "", names(samsungData))
samsungData <- data.frame(samsungData)
trainDF <- samsungData[samsungData$subject %in% c(1,3,5,6),]
tree1 <- tree(activity ~ ., data=trainDF)
plot(tree1)
text(tree1)
4

2 回答 2

4

您有几个通用选项:

  1. 使用更宽的图形设备。(即png(...,width = 1200,height = ...)
  2. cex = 0.5使用(或更小)缩小文本
  3. 使用更简洁的列(即变量)名称
  4. 前三者的某种组合。

我以为我可以text.tree在标记拆分时使用更少的有效数字,但我似乎无法做到这一点。默认情况下, rpart似乎只使用 4 位数字,这样也可以为您节省一些空间。

于 2013-02-28T22:58:20.353 回答
3

除了上面列出的 joran 指示之外,您还可以使用参数:

  • srt旋转您的文本。
  • 为文本赋予不同的颜色

例如 :

plot(tree1)
text(tree1,col=rainbow(5)[1:25],srt=85,cex=0.8)

在此处输入图像描述

于 2013-03-01T00:13:50.850 回答