R ggplot2:根据值添加渐变色正方形

R ggplot2:根据值添加渐变色正方形,r,ggplot2,gradient,R,Ggplot2,Gradient,关于我想做什么,我有一个棘手的问题。 我有一个图,上面有两条线(两个条件的平均值)。我想在同一个图上添加一个反映t值的正方形(并根据这些值以渐变方式着色)。我怎样才能加上这个方块 因为我不知道我是否清楚,这里是我试图实现的一个数字 谢谢你的帮助 为ggplot2尝试以下方法: x <- seq(-10, 10, 0.1) df <- data.frame(x, y1 = pnorm(x), y2 = pnorm(x) * 2) df$t <- df$y2 - df$y1 dfm

关于我想做什么,我有一个棘手的问题。 我有一个图,上面有两条线(两个条件的平均值)。我想在同一个图上添加一个反映t值的正方形(并根据这些值以渐变方式着色)。我怎样才能加上这个方块

因为我不知道我是否清楚,这里是我试图实现的一个数字

谢谢你的帮助


为ggplot2尝试以下方法:

x <- seq(-10, 10, 0.1)
df <- data.frame(x, y1 = pnorm(x), y2 = pnorm(x) * 2)
df$t <- df$y2 - df$y1
dfm <- melt(df, id = "x")

ggplot(NULL, aes(x, value)) + 
  geom_line(aes(colour = variable), 
            droplevels(subset(dfm, variable %in% c("y1", "y2")))) +
  geom_rect(aes(xmin = x - 0.05, xmax = x + 0.05, ymin = -0.5, ymax = -0.4, fill = value),
            subset(dfm, variable == "t"))
在ggplot2的下一个版本中,可以使用colorbar作为图例

  # panel on the right side
  p + guides(fill = "colourbar")   

对于基本图形,您可以使用
光栅图像
功能将带有渐变的矩形添加到图形中。

您可以发布一些可复制的示例吗?太好了,谢谢,效果非常好!Antother问题:你知道我如何操纵渐变的颜色吗?非常感谢你!我建议以后用
geom_光栅
代替
geom_rect
@baptiste yes,但由于某些原因,目前可能无法使用
geom_光栅
。我会把它发布在github上。
  # panel on the right side
  p + guides(fill = "colourbar")