绘制具有不同点样式的矩阵

时间:2014-10-07 22:53:32

标签: r matrix plot

我有一个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

感谢您的帮助。

1 个答案:

答案 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))

enter image description here

省略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)

enter image description here