R - 使用atop时不同字体大小

3
创建一个 y 轴有两条线的图表。我使用如下的 atop 函数:
plot + ylab(expressions(atop("Line 1","Line 2")))

想知道是否可以更改第一行的字体大小,比如使其比第二行更大?

谢谢!


尝试嵌套atop函数。请参见此问题的响应。 - Sandy Muspratt
这个可行 - 谢谢! - CYT
2个回答

3
这是一种使用plotmath的scriptstyle函数来缩小字体特定部分的机制。还有另一种更小的版本。请查看plotmath页面以获取完整的plotmath函数列表。我不知道如何使用plotmath策略使字体变大。
plot + ylab(expression( atop(Line~1, 
                             scriptstyle(Line~2))
           ))

请注意,没有expressions函数,我将您的文本转换为真正的R表达式。您可以查看theme()设置来调整axis.title.y的element_text特性以增加文本大小。
plot + ylab(expression( atop( Line~ 1,
                             scriptstyle( Line~ 2) ))) + 
       theme(axis.title.y = element_text( size = rel(2) ) )

0

除了plotmath之外,您还可以使用grid函数直接绘制文本:

library("gridExtra")
gt <- grobTree(ggplotGrob(plot + ylab("")), textGrob("Line 1", 0.01, 0.5, rot = 90, gp = gpar(fontsize = 18)), textGrob("Line 2", 0.025, 0.5, rot = 90, gp = gpar(fontsize = 10)))
plot.new()
grid.draw(gt)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接