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