在单个构面上包含逗号作为注释的表达式:是否可能?

qdr*_*ead 5 r ggplot2

我有兴趣在ggplot2中绘制一个包含逗号的自定义表达式,该表达式包含在一个绘图的一个方面上.我知道如何使用新的数据框在单个面上绘制表达式,如下所示:

fakedata <- data.frame(x = 1:10, y=runif(10), grp=gl(2,5))

ggplot(fakedata, aes(x=x,y,y)) + geom_point() + facet_grid(. ~ grp) +
   geom_text(data=data.frame(x=5,y=0.5,grp=1,lab='a == 5'), aes(label=lab), parse=TRUE)
Run Code Online (Sandbox Code Playgroud)

表达在一个方面

我也知道如何使用annotation_custom在多个方面上绘制表达式,它可以容纳带逗号的表达式.但这不可能仅在单个方面进行绘图.

ggplot(fakedata, aes(x=x,y,y)) + geom_point() + facet_grid(. ~ grp) +
   annotation_custom(grobTree(textGrob(expression(paste(a == 5, ', ', b == 6)), x=.5, y=.5)))
Run Code Online (Sandbox Code Playgroud)

在两个方面用逗号表达

但我无法弄清楚如何在单个构面上使用逗号对表达式执行操作,因为您无法在数据框中存储先前定义的表达式.如何在单个面上用逗号绘制表达式?

Ben*_*ker 6

?plotmath,你可以使用list()运营商:

'list(x,y,z)':以逗号分隔的列表

g0 + geom_text(data=data.frame(x=5,y=0.5,grp=1,lab='list(a == 5, b==6)'),
      aes(label=lab), parse=TRUE)
Run Code Online (Sandbox Code Playgroud)