我经常使用数值作为刻面。 我希望提供足够的信息来解释补充性标题中的这些构面值,类似于轴标题。 标签程序选项会重复很多不必要的文本,并且不能用于较长的变量标题。
有什么建议吗?
默认值:
test<-data.frame(x=1:20, y=21:40, facet.a=rep(c(1,2),10), facet.b=rep(c(1,2), each=20))
qplot(data=test, x=x, y=y, facets=facet.b~facet.a)
我想要的东西:
我在ggplot中能做的最好的事情:
qplot(data=test, x=x, y=y)+facet_grid(facet.b~facet.a, labeller=label_both)
如@Hendy所示,类似于: 在ggplot2绘图中添加辅助y轴-使 完美
最新回答
- 2021-1-91 #
- 2021-1-92 #
也许有更好的方法,但是您可以:
fac1 = factor(rep(c('a','b'),10)) fac2 = factor(rep(c('a','b'),10)) data = data.frame(x=1:10, y=1:10, fac1=fac1, fac2=fac2) p = ggplot(data,aes(x,y)) + ggplot2::geom_point() + facet_grid(fac1~fac2) p + theme(plot.margin = unit(c(1.5,1.5,0.2,0.2), "cm")) grid::grid.text(unit(0.98,"npc"),0.5,label = 'label ar right', rot = 270) # right grid::grid.text(unit(0.5,"npc"),unit(.98,'npc'),label = 'label at top', rot = 0) # top
- 2021-1-93 #
除了kohske概述的方法外,您还可以在通过更改添加的框中添加边框
col=NA
到
col=gray(0.5), linetype=1
还可以更改
fill=gray(0.5)
为
fill=grey(0.8)
和
gp=gpar(col=gray(1))
到
gp=gpar(col=gray(0))
如果您希望新的条与刻面标签匹配
即
z <- gtable_add_grob(z, list(rectGrob(gp = gpar(col = gray(0.5), linetype=1, fill = gray(0.8))), textGrob("Variable 1", rot = -90, gp = gpar(col = gray(0)))), 4, 8, 6, name = paste(runif(2)))
作为最新的
ggplot2
使用gtable
在内部,修改图形非常容易:当然,您可以编写一个自动添加带状标签的函数.
ggplot2
的未来版本 可能具有此功能;