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轴下方的上图中绘制彩色图例。 如rowname f的值为L,因此在情节下面的部分传奇应该被涂成“红色”,同样h,i,g和图中j标签下面的图例应该有'蓝色'。
看起来应该是这样的:
我尝试使用image.plot但没有获得理想的结果。 有没有办法做到这一点?
答案 0 :(得分: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”来创建一个盒子图像。