R矩阵积与颜色阈值和电网(R matrix plot with colour threshold a

2019-09-21 12:22发布

我的基质由0至100之间的值的和具有100×100我基本上要绘制这个矩阵但颜色例如红色和下文中例如蓝色高于50的所有值的尺寸。 最重要的是我希望像他们与ggplot做此处添加一个漂亮的grayisch格:

http://learnr.wordpress.com/2009/07/15/ggplot2-version-of-figures-in-lattice-multivariate-data-visualization-with-r-part-5/

我想知道什么是实现这一最简单的方法是什么? 我不知道如果我想给ggplot一试,因为它看起来从我迄今所看到的相当复杂。 是不是有这样的任务的任何其他容易绘图功能?

Answer 1:

我不是100%肯定,如果你的数据是一个矩阵,你想热图类型的图。 或者,如果是在一些其他形式的,你要像你链接到一个散点图。 我只是认为你的数据是描述和你想要一个热图。 我想这是一样的东西:

   x=abs(rnorm(100*100,50,25))
    x=matrix(x,nrow=100)

所以,所以它看起来像XY坐标我会重塑数据:

require(reshape2)
require(ggplot2)
x1=melt(x)
names(x1)=c("x","y","color")

然后我会做我的中止进入一个因素:

x1$color=factor(x1$color>50)
levels(x1$color)=c("lessthan50","more than 50")

然后调用ggplot有:

qplot(x, y, fill=color, data=x1,geom='tile')



Answer 2:

在基础图形它仅仅是:

image(x, col=c("red","blue")[1+(x>50)] )

要添加网格使用:

grid(nx=100, ny=100, lty=1)


Answer 3:

你可以这样做只是足以与levelplot,

x <- abs(runif(100*100,0, 100))
x <- matrix(x,nrow=100)
levelplot(x, cuts=1, col.regions=c("red", "blue"))


文章来源: R matrix plot with colour threshold and grid