Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R ggplot2平铺比例限制_R_Ggplot2 - Fatal编程技术网

R ggplot2平铺比例限制

R ggplot2平铺比例限制,r,ggplot2,R,Ggplot2,如果这是一个明显的问题,我深表歉意,但是谁能告诉我如何在用geom瓷砖绘制的热图上设置比例?我想在同一比例上绘制几个热图(例如,绘制的颜色比例最大为10,即使其中两个最大为5),但无法计算出来 例如: mydata<-expand.grid(X1=1:8,Y1=1:5) Z1<-floor(runif(40,min=0,max=6)) Z2<-floor(runif(40,min=0,max=11)) mydata<-cbind(mydata,Z1,Z2) mydat

如果这是一个明显的问题,我深表歉意,但是谁能告诉我如何在用geom瓷砖绘制的热图上设置比例?我想在同一比例上绘制几个热图(例如,绘制的颜色比例最大为10,即使其中两个最大为5),但无法计算出来

例如:

mydata<-expand.grid(X1=1:8,Y1=1:5)
Z1<-floor(runif(40,min=0,max=6))
Z2<-floor(runif(40,min=0,max=11))

mydata<-cbind(mydata,Z1,Z2)

mydata<-data.frame(mydata)

p1 <- ggplot(mydata, aes(x=X1, y=Y1, z = Z1))
p1 <- p +geom_tile(aes(fill = Z1))

p2 <- ggplot(mydata, aes(x=X1, y=Y1, z = Z2))
p2 <- p +geom_tile(aes(fill = Z2))

mydata很抱歉第一次误读了这个问题-这个怎么样

colors<-c("red","orangered","orange","yellow","lightyellow",
          "lightgreen","green","darkgreen","darkblue","purple")

df<-expand.grid(x=1:5,y=1:5,grp=1:4)     # fill in 4 grids
df$vals<-runif(100)*10                   # add some values between 0 & 10

ggplot(df) + geom_tile(aes(x,y,fill=vals)) + 
  facet_wrap(~ grp) +
  scale_fill_gradientn(colours=colors,values=1:10,rescaler = function(x,...) x, oob = identity)

colorsRead-up-on-scales:谢谢,我读过了,没找到有用的东西。我可能有点糊涂,但你能告诉我相关的部分吗?@Troy在回答中做了很好的解释,只要确保选择一个发散的或顺序的调色板就可以了。
RColorBrewer
(这里的例子:)可以很容易地帮上忙。
# and filtering out high numbers for some groups
ggplot(df[df$vals<=5|df$grp<3,]) + geom_tile(aes(x,y,fill=vals)) + 
  facet_wrap(~ grp) +
  scale_fill_gradientn(colours=colors,values=1:10,rescaler = function(x,...) x, oob = identity)