在图例文本中新建一行,ggplot,R [重复]

trnvg8h3  于 2023-05-20  发布在  其他
关注(0)|答案(1)|浏览(103)

此问题已在此处有答案

Plot legend label in multiple lines including mathematical expressions(1个答案)
ggplot2: Aligning multi-line legend titles with math expressions(1个答案)
4天前关闭。
这是我的第一篇文章,如果我错过了什么,我道歉。我在R上用ggplot做了一个图。我想单位的“日志FMRm”是在一个新的一行的传说标题。我该怎么办?

ggplot(data = cf_joint2, aes(j_df.d13C_VPDB, j_df.d15N_Air)) +
  geom_point(aes(shape= groupmass, color = j_df.log_mass_scaled), size= 1.5) +
  labs(x=(expression(paste(delta^{13}, "C (\u2030)"))),
       y=(expression(paste(delta^{15}, "N (\u2030)"))),
       colour= expression(paste("log FMR"[m]~"\n(mg"~O[2]~kg^-1~hr^-1*")")),
       shape="log Mass (kg)") +
  theme(text = element_text(size=15)) +
  scale_colour_viridis_c()+
  scale_shape_manual(values=c(16,17,15,18))+
  stat_ellipse(level=0.99) +
  facet_wrap(~factor(j_df.Common_name))

我尝试使用\n,但没有得到正确的结果。我尝试使用了atop(),但它使文本更低,但不是左对齐。

ggplot(data = cf_joint2, aes(j_df.d13C_VPDB, j_df.d15N_Air)) +
  geom_point(aes(shape= groupmass, color = j_df.log_mass_scaled), size= 1.5) +
  labs(x=(expression(paste(delta^{13}, "C (\u2030)"))),
       y=(expression(paste(delta^{15}, "N (\u2030)"))),
       colour= expression(paste(atop("log FMR"[m]), "(mg"~O[2]~kg^-1~hr^-1*")"), hjust =0 ),
       shape="log Mass (kg)") +
  theme(text = element_text(size=15)) +
  scale_colour_viridis_c()+
  scale_shape_manual(values=c(16,17,15,18))+
  stat_ellipse(level=0.99) +
  facet_wrap(~factor(j_df.Common_name))
db2dz4w8

db2dz4w81#

我们可以在这里使用atop

ggplot(mtcars, aes(disp, mpg, color = cyl)) +
  geom_point() +
  labs(colour = expression(atop('log FMR'[m],
                                '(mg' ~ O[2] ~ kg^-1 ~ hr^-1 * ')' )))

atop?plotmath中描述。

相关问题