1
x <- matrix(seq(1,10,by=0.1),ncol=5,nrow=5)
colnames(x) <- letters[1:5]
rownames(x) <- letters[6:10]
plot(hclust(t(dist(x))))

ここに画像の説明を入力

私はデータフレームを持っています:

df <- data.frame(Rows = letters[6:10],value=c("L","L","L","L","N"))
df
  Rows value
1    f     L
2    g     L
3    h     L
4    i     L
5    j     N

上記のプロットの x 軸の下に色付きの凡例を描画したいと思います。行名 f のように値 L があるため、プロット内のその下の凡例の一部は「赤」に、同様に h、i、g に色付けする必要がありますが、プロット内の j ラベルの下の凡例は「青」にする必要があります。

次のようになります。

ここに画像の説明を入力

image.plot を使用してみましたが、望ましい結果が得られませんでした。これを行う方法はありますか?

4

1 に答える 1

0

最後に、この問題のやや近い解決策を見つけました。結果プロットは、text関数を使用して描画できます

df <- data.frame(Rows = letters[6:10],value=c("L","L","L","L","N"))
x <- matrix(seq(1,10,by=0.1),ncol=5,nrow=5)
colnames(x) <- letters[1:5]
rownames(x) <- letters[6:10]
plot(hclust(t(dist(x))))
axis(1,at=seq(1,length(rownames(x)),1),labels=FALSE)
text(seq(1,length(rownames(x)),1),labels="\u2594",col=c(rep("red",2),"blue",rep("red",2)),cex=25,par("usr")[3]+0.005)
legend("topright",legend=c("L","N"),col=c("red","blue"))

テキストで unicode "\u2594" を使用して、ボックス イメージを作成します。

于 2012-12-17T05:46:54.590 に答える