创建y轴有两条线的图。我正在使用atop函数,如下所示:
plot + ylab(expressions(atop("Line 1","Line 2")))
想知道是否可以更改第1行的字体大小,即使其大于第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)