在ggplot2中的条形图顶部添加没有标签的刻度

时间:2014-03-11 06:36:26

标签: r ggplot2 bar-chart

正如标题所说,我想在ggplot2的条形图的TOP部分添加刻度。输出看起来像这样:(由于机密信息隐藏实际情节)。 ggplot2中是否有一个函数可以执行此操作?

example bar plot

1 个答案:

答案 0 :(得分:1)

我已在链接Display y-axis for each subplot when faceting修改了Baptiste的解决方案。想法(我认为)是提取x轴grob并将其添加到图的顶部。

library(ggplot2)
library(gtable)

# plot
p1 <- ggplot(mtcars, aes(factor(cyl))) + geom_bar() + theme_bw()


gg <- ggplotGrob(p1)

axis <- gtable_filter(gg ,"axis-b")[["grobs"]][[1]][["children"]][["axis"]][1,]
panels <- subset(gg$layout, name == "panel")
gg <- gtable_add_grob(gg, grobs=axis, name="ticks", t = panels$t-1, l=panels$l)

grid.newpage()
grid.draw(gg)

enter image description here