我有一个圆形图,我想找到一种方法来去除中间的白色小圆圈。

这是我的代码:

ggplot(d5)+geom_tile(aes(x=x, y=y, fill=xyz))+
   scale_y_continuous(expand=c(0,0),breaks=NULL,limits=c(0,3.6))+
   scale_fill_continuous(low="darkgreen", high="white")+
   coord_polar(start=-1*pi/2, direction=1)+
   theme_bw()+
   theme(panel.grid.major = element_blank(),panel.grid.minor = element_blank())

非常感谢。

最佳答案

我在这里做了一个虚拟示例:

require(dplyr)
expand.grid(x = 1:20, y = 1:2) %>%
  mutate(z = rnorm(length(x))) %>%
  ggplot()+geom_tile(aes(x=x, y=y, fill=z))+
  scale_y_continuous(expand=c(0,0),breaks=NULL,limits=c(0,3.6))+
  scale_fill_continuous(low="darkgreen", high="white")+
  coord_polar(start=-1*pi/2, direction=1)+
  theme_bw()+
  theme(panel.grid.major = element_blank(),panel.grid.minor = element_blank())

删除中央白色圆圈?-LMLPHP

您使用 limitsexpandscale_y 参数走在正确的轨道上,您只需要弄清楚实际下限在哪里。为此,让我们在没有 coord_polarscale_y 的情况下绘制相同的集合。

删除中央白色圆圈?-LMLPHP

因此,在我的示例中,图块的最小边缘位于 y=0.5 处。因此,您必须弄清楚您的最小 y 值是多少,然后减去 height 的默认 geom_tile 的一半(即 1)。使用该值作为 y 下限,你的馅饼中的洞就会消失。

删除中央白色圆圈?-LMLPHP

关于删除中央白色圆圈?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44593112/

10-12 04:59