4

枝の多い木があります。これがツリーをプロットするための私のコードです。問題は、特にツリーの下部に向かって、ラベルが互いに重なり合うことです。ラベルが重ならないようにツリーをプロットする方法はありますか?

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

注-「type=c( "uniform"))」を使用したのは、下のブランチが読みやすくなるためです。また、prunedTreeは、ツリーパッケージのクラス「tree」です。

これが現在生産されているもののサンプルです。

ここに画像の説明を入力してください

編集:問題を完全に再現するためのコード。

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. 前の3つの組み合わせ。

分割のラベル付けに使用できる有効数字を少なくできると思いtext.treeましたが、それができないようです。rpartはデフォルトで4桁しか使用していないように見えるので、スペースも節約できます。

于 2013-02-28T22:58:20.353 に答える
3

上記のjoran表示に加えて、次のパラメータで遊ぶことができます。

  • srtあなたのテキストをrtotateする。
  • テキストに異なる色を付ける

例えば ​​:

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

ここに画像の説明を入力してください

于 2013-03-01T00:13:50.850 に答える