我在R中创建了ggplot数字,我想在这些数字周围抛出一个标题块,类似于你在Autocad图纸中看到的那个。
我已经搜索过高低,如果有可能的话,还无法找到有关如何进行此操作的任何信息。
看起来像一个简单的事情 - 在图形周围创建一个黑色框架,在底部创建一个标题栏,它们只是一系列矩形;但是,看起来R看起来没有可以执行此操作的库或工具(例如,创建图形并粘贴到标题块框架中)。
我有数百个数字,所以不,我不想手工将这些数字粘贴到标题栏pdf中。
非常感谢任何帮助。
答案 0 :(得分:0)
这是一个可能的策略
library(grid)
library(gridExtra)
library(gtable)
library(ggplot2)
p <- qplot(1,1) + theme(plot.background = element_rect(colour = 'black'))
border <- rectGrob(gp=gpar(lwd=2,fill=NA))
pl <- Map(function(p, i) arrangeGrob(p, bottom=sprintf("(%s)",i), vp=viewport(width=0.9, height=0.9)), list(p,p,p), letters[1:3])
g <- arrangeGrob(grobs = pl, layout_matrix=matrix(c(1,1,2,2,NA,3,3,NA),2,4,T))
g <- gtable_add_grob(g, border, 1, 1, nrow(g), ncol(g), Inf)
g <- gtable_add_rows(g, unit(2,"lines"))
gl <- lapply(c("", "Project No", "Results for something", "Fig 5", "Md-123"),
function(x) grobTree(border, textGrob(label = x)))
banner <- arrangeGrob(grobs=gl, layout_matrix=rbind(c(1,2,3,4),
c(1,5,3,4)),
widths=c(1,2,5,2))
g <- gtable_add_grob(g, banner, nrow(g), 1, nrow(g), ncol(g), Inf)
grid.newpage()
grid.draw(g)