用表达式拆分轴标签

Mar*_*dri 2 axis r graph

我有一个包含表达式的长标签的图,我想将它分成两行.
在表达式中添加"\n",结果不符合预期.

ylabel <- expression("A very long label with text and \n 
expression"*(alpha+beta) [ij]*"  A very long label with text and expression")
curve(x^3 - 3*x, -2, 2, xlab=xlabel)
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.谢谢

chl*_*chl 7

这是另一种解决方案,依赖于atop@AndresT的编辑.请注意,我们不能像\n在表达式中那样使用控制字符,这解释了为什么使用类似的东西expression(paste("...\n", alpha[i], "...."))不会产生所需的输出.

xlabel <- expression(atop("A very long label with text and expression", 
                          paste((alpha+beta)[ij], "   A very long label ...")))
curve(x^3 - 3*x, -2, 2, sub=xlabel, xlab="")
Run Code Online (Sandbox Code Playgroud)

请注意,我使用sub而不是xlab避免与x刻度线碰撞.

在此输入图像描述