我有一个nxn对称矩阵,其值等于-1,0或1.我使用image()和levelplot()绘制矩阵,为-1提供不同的颜色,1(0表示没有值,因此没有颜色,或白色)。
但是,我无法为这两个函数中的任何一个更改点样式(使用pch),或者使用热图和其他选项更改点样式。
我试图用不同的颜色和不同的点样式(圆圈,比如三角形)来表示-1和1。 这里显示的内容如下:http://www.ploscompbiol.org/article/fetchObject.action?uri=info:doi/10.1371/journal.pcbi.1002004.g007&representation=PNG_M
感谢您的帮助。
答案 0 :(得分:2)
尝试:
xx = matrix(sample(-1:1, 16, replace=T), nrow=4)
xx
[,1] [,2] [,3] [,4]
[1,] 0 1 0 1
[2,] 1 -1 1 1
[3,] 1 1 -1 0
[4,] 0 1 1 -1
dd = data.frame(xx)
dd$id = rownames(dd)
ggplot(melt(dd))+geom_point(aes(x=variable, y=id, color=value, shape=value))
省略0:
的点mm = melt(dd)
mm$value[mm$value==0] = NA
ggplot(mm)+geom_point(aes(x=variable, y=id, color=factor(value), shape=factor(value)),size=5)