删除barplot 2因子中条形之间的空格

时间:2016-08-06 13:41:27

标签: r plot ggplot2 geom-bar

我有以下代码:

df=data.frame(time=as.factor(rep(0.5:9.5,each=10)),roi=rep(1:10,10),area=runif(1‌​00, 5.0, 7.5)) 

df$time <- factor(df$time, levels=rev(levels(df$time)))

ggplot(data=df, aes(y=factor(roi), x=time, fill = area)) + theme_minimal() + coord_flip() + geom_tile(colour = "white", width = 0.9, height = 0.5) + scale_fill_gradient(low="blue",high="red")

如何删除10个鱼竿之间的空间(我指的是鱼饵之间的空间),并为每个时间值连续留下10个10个鱼竿。非常感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

  • 使用height来控制width的宽高比,而不是geom_tile的{​​{1}}和coord_fixed(ratio=r)参数 瓦片(r是比率)。我在下面的示例中使用了r = 0.5。
  • 切换xy列,以便在x轴上获得roi而无需coord_flip()(您无法同时使用coord_flip() coord_fixed()和/ colour=NA在同一时间。)。
  • 设置height=0.9,以便在给定行中的每个图块之间不会有空格。
  • 设置ggplot(data=df, aes(x=factor(roi), y=time, fill = area)) + theme_minimal() + coord_fixed(ratio=0.5) + geom_tile(colour = NA, width = 1, height = 0.9) + scale_fill_gradient(low="blue",high="red") 以在每行图块之间创建一个空格。

    x = torch.ByteTensor{1,1,0,0,0,0,1}
    y = torch.ByteTensor{0,1,0,1,0,1,1}
    

enter image description here

答案 1 :(得分:0)

不确定这是否是您想要的,但似乎您可以更改height中的geom_tile

ggplot(data=df, aes(y=factor(roi), x=time, fill = area)) +
  theme_minimal() + 
  coord_flip() + 
  geom_tile(colour = "white", width = 0.9, height = 1.3) + 
  scale_fill_gradient(low="blue",high="red")

enter image description here