如何在ggplot2中调整geom_tile的比例尺?

4
我将尝试调整geom_tile图的颜色比例尺。
我的数据是一个data.frame格式的简短版本:
mydat <-

Sc  K   n   minC
A   2   1   NA
A   2   2   37.453023
A   2   3   23.768316
A   2   4   17.628376
A   3   1   NA
A   3   2   12.693124
A   3   3   8.884226
A   3   4   7.436250
A   10  1   2.128121
A   10  2   2.116539
A   10  3   2.737923
A   10  4   3.509773
A   20  1   1.104592
A   20  2   1.840195
A   20  3   2.717198
A   20  4   3.616501
B   2   1   NA
B   2   2   25.090085
B   2   3   15.924186
B   2   4   11.811022
B   3   1   NA
B   3   2   8.827183
B   3   3   6.179484
B   3   4   5.175331
B   10  1   2.096934
B   10  2   2.064984
B   10  3   2.662373
B   10  4   3.407246
B   20  1   1.096871
B   20  2   1.802418
B   20  3   2.649153
B   20  4   3.517776

我准备绘制数据的代码如下:

mydat$Sc <- factor(mydat$Sc, levels =c("A", "B"))
mydat$K <- factor(mydat$K, levels =c("2", "3","10","20"))
mydat.m <- melt(pmydat,id.vars=c("Sc","K","n"), measure.vars=c("minC"))

我想使用geom_tile绘制minC的值,以Kn作为轴,并为Sc的不同方面设置不同的图块:

mydat.m.p <- ggplot(mydat.m, aes(x=n, y=K)) 
mydat.m.p + 
  geom_tile(data=mydat.m, aes(fill=value)) +
  scale_fill_gradient(low="palegreen", high="lightcoral") +
  facet_wrap(~ Sc, ncol=2)

这为每个Sc因子提供了一个图表,但颜色刻度并不反映我想要表达的内容,因为一些高值使得低值都相等。

我想调整到一个相关的刻度,分成四个断点,即1-2、2-3、3-5和大于5。

查看其他问题时,建议使用cut函数和手动比例尺填充:

mydat.m$value1 <- cut(mydat.m$value, breaks = c(1:5, Inf), right = FALSE)

然后在geom_tile中使用以下内容:
scale_fill_manual(breaks = c("\[1,2)", "\[2, 3)", "\[3, 5)", "\[5, Inf)"),
values = c("darkgreen", "palegreen", "lightcoral", "red"))

然而,我不确定如何将其应用于具有其他因素且格式为长格式的data.frame

1个回答

1
你已经快完成了。只需在融化之前使用cut
mydat$minC.cut <- cut(mydat$minC, breaks = c(1:3, 5, Inf), right = FALSE)
mydat.cut <- melt(mydat, id.vars=c("Sc", "K", "n"), measure.vars=c("minC.cut"))

现在,您不需要指定breaks,因为我们已经处理好了。
ggplot(mydat.cut, aes(x=n, y=K)) + 
  geom_tile(aes(fill=value)) +
  facet_wrap(~ Sc, ncol=2) +
  scale_fill_manual(values = c("darkgreen", "palegreen", "lightcoral", "red"))

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接