首页 > 解决方案 > R - 使用带有 ggplot 的网格路径

问题描述

是否有此文档的最新版本?

https://github.com/tidyverse/ggplot2/wiki/Editing-raw-grid-objects-from-a-ggplot

我正在尝试破解一些 grobs,但无法找出 gPaths 的正确格式。

对第二个例子特别感兴趣,转载在这里:

library(ggplot2)
data  <- data.frame(Name = c("A","B","C","D","E","F","G","H"), y = c(100,200,300,400,200,300,400,350))
# you have to print before grob-ing
p = ggplot(data,aes(x=Name,y=y)) + geom_point()

# locate the lines
g <- # store the plot as a grob
  ggplotGrob(p)

grid.ls(g)

#notice 
#...
#panel-3-3
#    grill.gTree.383
#        panel.background.rect.374
#       panel.grid.minor.y.polyline.376
#      panel.grid.minor.x.polyline.378
#     panel.grid.major.y.polyline.380
#    panel.grid.major.x.polyline.382

grid.remove(gPath("GRID.gTree","layout","panel","grill.gTree","panel.grid.minor.x.polyline"),grep=T)
grid.remove(gPath("GRID.gTree","layout","panel","grill.gTree","panel.grid.major.x.polyline"),grep=T)
grid.remove(gPath("GRID.gTree","layout","panel","grill.gTree","panel.grid.major.y.polyline"),grep=T)

哪个,而不是删除网格线,抛出这个错误:

removeDLFromGPath(gPath, name, strict, greppath, grepname, global, 中的错误:找不到 gPath (GRID.gTree::layout::panel::grill.gTree::panel.grid.minor.x.polyline)

标签: rggplot2grid

解决方案


推荐阅读