在 ggplot2 中用 bquote 折叠字幕
Collapse subtitle with bquote in ggplot2
我正在尝试将我的副标题更改为带有 7 上标和 50 下标的“所有受试者均按 5x10^7 TCID50 处理”。
我能够 运行 以下情节,其中有空格 ("5 x 10"):
使用以下代码:
kmcurve1 <- ggsurvplot(km_p1p2_p2dose_fit,
palette = c("#202960", "#8CC63E"),
xlab = "Time (Months)",
legend.labs = c("Phase 1", "Phase 2"),
break.time.by = 6,
xlim = c(0,36),
conf.int = FALSE,
pval = TRUE,
pval.size = 5,
pval.method.size = 5,
pval.coord = c(30,0.9),
pval.method.coord = c(30,1),
pval.method = TRUE,
surv.median.line = "v",
risk.table = "abs_pct",
risk.table.col = "strata",
surv.plot.height = 2,
risk.table.height = 0.24,
censor.shape = "|",
censor.size = 5,
font.title = 28,
font.x = 14,
font.y = 14,
font.tickslab = 12,
risk.table.fontsize = 3.5)
kmcurve1$plot <- kmcurve1$plot +
labs(title = "Overall Survival for Phase 1 and Phase 2",
subtitle = bquote(All~Subjects~as~Treated~at~5.0~x~10^7~TCID[50]),
caption = bquote(TCID[50]~-~Median~Tissue~Culture~Infectious~Dose)) +
theme(#text = element_text(family = "serif"), #only run for PDF output
plot.title = element_text(size = 20),
plot.subtitle = element_text(size = 16),
plot.caption = element_text(size = 12),
legend.text = element_text(size = 12),
legend.title = element_text(size = 12),
legend.key.size = unit(16, "points"),
axis.title.x = element_text(size = 14),
axis.title.y = element_text(size = 14),
axis.text.x = element_text(size = 12),
axis.text.y = element_text(size = 12))
kmcurve1
我删除了研究编号以避免识别信息。
对于字幕,我也试过bquote(All~Subjects~as~Treated~at~5.0x10^7~TCID[50])
,它给了我以下错误信息:
Error: unexpected symbol in: " labs(title = "Overall Survival for
Phase 1 and Phase 2",
subtitle = bquote(All~Subjects~as~Treated~at~5.0x10"
如果有 KM 拟合的代表来复制曲线是否有帮助,请告诉我。
在 'x' 周围显示无空格的副标题的一种方法是用字符串“5x10”替换部分数学表达式。 bquote
能够将数学表达式与字符串结合起来。这是您在可重现情节中呈现的字幕。
library(survminer)
library(survival)
fit<- survfit(Surv(time, status) ~ sex, data = lung)
p <- ggsurvplot(fit, data = lung)
p$plot +
labs(title = "Overall Survival for Phase 1 and Phase 2",
subtitle = bquote(All~Subjects~as~Treated~at~'5x10'^7~TCID[50]),
caption = bquote(TCID[50]~-~Median~Tissue~Culture~Infectious~Dose))
您唯一缺少的一点知识是,当您不希望 space 出现在它们之间时,需要使用星号来分隔表达式中的标记。令牌不能以数字开头,因此您的表达式参数应该是:
bquote(All~Subjects~as~Treated~at~5.0*x*10^7~TCID[50])
使用 xilliam 的示例,因为它与问题无关的 material 少得多。我使用了函数 expression
因为你没有从调用环境中替换或访问值。
library(survminer)
library(survival)
fit<- survfit(Surv(time, status) ~ sex, data = lung)
p <- ggsurvplot(fit, data = lung)
p$plot +
labs(title = "Overall Survival for Phase 1 and Phase 2",
subtitle = expression(
All~Subjects~as~Treated~at~5*x*10^7~TCID[50]),
caption = expression(
TCID[50]~-~Median~Tissue~Culture~Infectious~Dose))
给出:
我正在尝试将我的副标题更改为带有 7 上标和 50 下标的“所有受试者均按 5x10^7 TCID50 处理”。
我能够 运行 以下情节,其中有空格 ("5 x 10"):
使用以下代码:
kmcurve1 <- ggsurvplot(km_p1p2_p2dose_fit,
palette = c("#202960", "#8CC63E"),
xlab = "Time (Months)",
legend.labs = c("Phase 1", "Phase 2"),
break.time.by = 6,
xlim = c(0,36),
conf.int = FALSE,
pval = TRUE,
pval.size = 5,
pval.method.size = 5,
pval.coord = c(30,0.9),
pval.method.coord = c(30,1),
pval.method = TRUE,
surv.median.line = "v",
risk.table = "abs_pct",
risk.table.col = "strata",
surv.plot.height = 2,
risk.table.height = 0.24,
censor.shape = "|",
censor.size = 5,
font.title = 28,
font.x = 14,
font.y = 14,
font.tickslab = 12,
risk.table.fontsize = 3.5)
kmcurve1$plot <- kmcurve1$plot +
labs(title = "Overall Survival for Phase 1 and Phase 2",
subtitle = bquote(All~Subjects~as~Treated~at~5.0~x~10^7~TCID[50]),
caption = bquote(TCID[50]~-~Median~Tissue~Culture~Infectious~Dose)) +
theme(#text = element_text(family = "serif"), #only run for PDF output
plot.title = element_text(size = 20),
plot.subtitle = element_text(size = 16),
plot.caption = element_text(size = 12),
legend.text = element_text(size = 12),
legend.title = element_text(size = 12),
legend.key.size = unit(16, "points"),
axis.title.x = element_text(size = 14),
axis.title.y = element_text(size = 14),
axis.text.x = element_text(size = 12),
axis.text.y = element_text(size = 12))
kmcurve1
我删除了研究编号以避免识别信息。
对于字幕,我也试过bquote(All~Subjects~as~Treated~at~5.0x10^7~TCID[50])
,它给了我以下错误信息:
Error: unexpected symbol in: " labs(title = "Overall Survival for Phase 1 and Phase 2", subtitle = bquote(All~Subjects~as~Treated~at~5.0x10"
如果有 KM 拟合的代表来复制曲线是否有帮助,请告诉我。
在 'x' 周围显示无空格的副标题的一种方法是用字符串“5x10”替换部分数学表达式。 bquote
能够将数学表达式与字符串结合起来。这是您在可重现情节中呈现的字幕。
library(survminer)
library(survival)
fit<- survfit(Surv(time, status) ~ sex, data = lung)
p <- ggsurvplot(fit, data = lung)
p$plot +
labs(title = "Overall Survival for Phase 1 and Phase 2",
subtitle = bquote(All~Subjects~as~Treated~at~'5x10'^7~TCID[50]),
caption = bquote(TCID[50]~-~Median~Tissue~Culture~Infectious~Dose))
您唯一缺少的一点知识是,当您不希望 space 出现在它们之间时,需要使用星号来分隔表达式中的标记。令牌不能以数字开头,因此您的表达式参数应该是:
bquote(All~Subjects~as~Treated~at~5.0*x*10^7~TCID[50])
使用 xilliam 的示例,因为它与问题无关的 material 少得多。我使用了函数 expression
因为你没有从调用环境中替换或访问值。
library(survminer)
library(survival)
fit<- survfit(Surv(time, status) ~ sex, data = lung)
p <- ggsurvplot(fit, data = lung)
p$plot +
labs(title = "Overall Survival for Phase 1 and Phase 2",
subtitle = expression(
All~Subjects~as~Treated~at~5*x*10^7~TCID[50]),
caption = expression(
TCID[50]~-~Median~Tissue~Culture~Infectious~Dose))
给出: