2

これに似た樹状図上のサイトの変数を反映する樹状図の葉にシンボルを追加したいと思います。

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    

ここに画像の説明を入力

これについてどうすればよいかについての提案をありがとう

解決策 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"))

ここに画像の説明を入力

4

1 に答える 1

4

関数を使用してこれ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")

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

凡例は と でプロットすることもできsymbolますtext。アイデアは同じで、かなり手間がかかりますが、おそらく自分で理解できます。

于 2012-08-29T10:54:52.670 に答える