我有一个具有不同颜色的geom_tile图,每种颜色代表数据中的一个值。
我想用一条不同于绘图颜色的线来分隔绘图中的每种颜色范围。
e.g(-0.5<=0<0.5 colored red)
e.g(0<0.5<1 colored blue)这可以在R中完成吗?
我需要在geom_tile上用一行分隔这些范围。提前谢谢。
发布于 2011-05-10 18:15:22
使用colour参数更改边框的颜色。
改编自?geom_tile上的一个示例。
pp <- function (n,r=4) {
x <- seq(-r*pi, r*pi, len=n)
df <- expand.grid(x=x, y=x)
df$r <- sqrt(df$x^2 + df$y^2)
df$z <- cos(df$r^2)*exp(-df$r/6)
df
}
p <- ggplot(pp(20), aes(x=x,y=y)) +
geom_tile(aes(fill = z), colour = "black")
p或者你的意思是“我想为不同的瓷砖组指定填充颜色”。一种方法是将fill变量转换为因子并调用scale_fill_manual。
dfr <- pp(20)
dfr$discrete_z <- cut(dfr$z, c(-1, 0, 1)) # makes z a factor
p <- ggplot(dfr, aes(x=x,y=y)) +
geom_tile(aes(fill = discrete_z)) +
scale_fill_manual(
values = c("red", "blue")
)
phttps://stackoverflow.com/questions/5935187
复制相似问题