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

时间:2015-07-14 15:13:06

标签: r ggplot2

创建y轴有两条线的图。我正在使用atop函数,如下所示:

plot + ylab(expressions(atop("Line 1","Line 2")))

想知道是否可以更改第1行的字体大小,即使其大于第2行?

谢谢!

2 个答案:

答案 0 :(得分:2)

这是一种使用plotmath scriptstyle函数使字体的特定部分更小的机制。还有另一个甚至更小的版本。查看?plotmath页面以获取plotmath函数的完整列表。我不知道使字体变大的plotmath策略。

plot + ylab(expression( atop(Line~1, 
                             scriptstyle(Line~2))
           ))

请注意,没有expressions函数,我将您的文本转换为真正的R表达式。您可以查看axis.title.y的element_text功能的theme()设置以增加文本大小。

plot + ylab(expression( atop( Line~ 1,
                             scriptstyle( Line~ 2) ))) + 
       theme(axis.title.y = element_text( size = rel(2) ) )

答案 1 :(得分: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)