R 如何在ggplot标签文本的表达式(粘贴(斜体())中添加换行符?
我有这样一个情节: 如您所见,我已经应用了R 如何在ggplot标签文本的表达式(粘贴(斜体())中添加换行符?,r,ggplot2,plot,label,expression,R,Ggplot2,Plot,Label,Expression,我有这样一个情节: 如您所见,我已经应用了c(表达式(粘贴(斜体(“TERT”),“p-wt”),“\nn=504”)、表达式(粘贴(粘贴(斜体(“TERT”),“-alt”)))将TERT标签文本斜体化。我需要对标签文本应用换行符转义,如\n所示。subquet标签文本n=504不应为斜体,因此如下所示: 您可以在粘贴中看到我的尝试。。。“\nn=504” 如何解决这个问题 剧本 library(tidyverse) ggplot(p, aes(time, P)) + geom_ri
c(表达式(粘贴(斜体(“TERT”),“p-wt”),“\nn=504”)、表达式(粘贴(粘贴(斜体(“TERT”),“-alt”)))
将TERT标签文本斜体化。我需要对标签文本应用换行符转义,如\n
所示。subquet标签文本n=504
不应为斜体,因此如下所示:
您可以在粘贴中看到我的尝试。。。“\nn=504”
如何解决这个问题
剧本
library(tidyverse)
ggplot(p, aes(time, P)) +
geom_ribbon(aes(ymin = lower, ymax = upper, fill = CIF), alpha = 0.175) +
geom_line(aes(color = CIF), size=.9) +
scale_y_continuous(name="Absolute risk of recurrence-free death", breaks = seq(0,.30,.05),
labels=c("0%", "5%", "10%", "15%", "20%", "25%", "30%")) +
scale_x_continuous(name="Time in months", breaks = seq(0,84,6)) +
coord_cartesian(xlim=c(0,84), ylim=c(0,.3)) +
scale_color_manual(name = "",
values=c("#2C77BF", "#E38072"),
labels=c(expression(paste(italic("TERT"),"p-wt", "\nn = 504")), expression(paste(italic("TERT"),"-alt")))) +
scale_fill_manual(name = "",
values = c("#2C77BF", "#E38072"),
labels=c(expression(paste(italic("TERT"),"p-wt","\nn = 504")), expression(paste(italic("TERT"),"-alt"))))
资料
p使用top
将文本置于其他文本之上。请参见?plotmath
ggplot(p, aes(time, P)) +
geom_ribbon(aes(ymin = lower, ymax = upper, fill = CIF), alpha = 0.175) +
geom_line(aes(color = CIF), size=.9) +
scale_y_continuous(name="Absolute risk of recurrence-free death", breaks = seq(0,.30,.05),
labels=c("0%", "5%", "10%", "15%", "20%", "25%", "30%")) +
scale_x_continuous(name="Time in months", breaks = seq(0,84,6)) +
coord_cartesian(xlim=c(0,84), ylim=c(0,.3)) +
scale_color_manual(name = "",
values=c("#2C77BF", "#E38072"),
labels=c(expression(atop(paste(italic("TERT"),"p-wt"), "n = 504")), expression(paste(italic("TERT"),"-alt")))) +
scale_fill_manual(name = "",
values = c("#2C77BF", "#E38072"),
labels=c(expression(atop(paste(italic("TERT"),"p-wt"),"\nn = 504")), expression(paste(italic("TERT"),"-alt"))))
太好了,谢谢!换行符上的文本自动居中。如何将新行上的文本左对齐?我不确定top
是否有简单的左对齐方法。可能phantom
会让您更接近。另一个可能的选项是在ggplot2
组件中处理标记。
ggplot(p, aes(time, P)) +
geom_ribbon(aes(ymin = lower, ymax = upper, fill = CIF), alpha = 0.175) +
geom_line(aes(color = CIF), size=.9) +
scale_y_continuous(name="Absolute risk of recurrence-free death", breaks = seq(0,.30,.05),
labels=c("0%", "5%", "10%", "15%", "20%", "25%", "30%")) +
scale_x_continuous(name="Time in months", breaks = seq(0,84,6)) +
coord_cartesian(xlim=c(0,84), ylim=c(0,.3)) +
scale_color_manual(name = "",
values=c("#2C77BF", "#E38072"),
labels=c(expression(atop(paste(italic("TERT"),"p-wt"), "n = 504")), expression(paste(italic("TERT"),"-alt")))) +
scale_fill_manual(name = "",
values = c("#2C77BF", "#E38072"),
labels=c(expression(atop(paste(italic("TERT"),"p-wt"),"\nn = 504")), expression(paste(italic("TERT"),"-alt"))))