在正方形内绘制geom_tile边框以防止重叠

Fra*_*art 7 r ggplot2

我希望能够绘制geom_tile不重叠的边框,以便边框可以传达自己的信息,而不会使观看者与边框消失.

library(ggplot2)

state <- data.frame(p=runif(100), x=1:10, y=rep(1:10, each=10), z=rep(1:5, each=20))

ggplot(state, aes(x, y)) + 
  geom_tile(aes(fill = p, color=as.factor(z)), size=2)
Run Code Online (Sandbox Code Playgroud)

边框重叠的geom_tile图

我相信你可以看到重叠的边界有多混乱.

eip*_*i10 19

使用widthheight参数来geom_tile创建空间并防止边框重叠.

ggplot(state, aes(x, y)) + 
  geom_tile(aes(fill = p, color=as.factor(z), width=0.7, height=0.7), size=2)
Run Code Online (Sandbox Code Playgroud)

我创建空间瓦之间,但你也可以调整widthheight使边界只是互相接触.此外,请注意,在我的图形版本中,图块的颜色图例没有任何颜色.这是因为geom_tile ggplot2 2.0中的边框颜色图例被破坏了.该问题已在ggplot2的开发版本中得到修复,但修复程序尚未推广到CRAN.要获得开发版本,您可以这样做devtools::install_github("hadley/ggplot2").

(顺便提一下,如果您遇到视错觉,下图会产生网格错觉).

在此输入图像描述