R 如何在ggplot2中斜体部分相关系数注释

R 如何在ggplot2中斜体部分相关系数注释,r,ggplot2,annotate,italic,R,Ggplot2,Annotate,Italic,我无法弄清楚在我的绘图中如何使下面的annotate()函数中的字母“R”斜体化。我尝试在粘贴()之前添加expression(),并使用italic(),但随后将以“round(cor..”开头的部分粘贴为文本,而不是计算结果 ggplot(subset(crossnat, !is.na(homicide) & !is.na(gdppercapita)), aes(x = gdppercapita, y = homicide)) + geom_point(alpha =

我无法弄清楚在我的绘图中如何使下面的
annotate()
函数中的字母“R”斜体化。我尝试在粘贴()之前添加
expression()
,并使用
italic()
,但随后将以“round(cor..”开头的部分粘贴为文本,而不是计算结果

    ggplot(subset(crossnat, !is.na(homicide) & !is.na(gdppercapita)),
  aes(x = gdppercapita, y = homicide)) +
  geom_point(alpha = 0.4) +
  ggtitle("Figure 3: Relationship between GDP per capita ($) and homicide rate") +
  labs(subtitle = "n = 177 (17 countries removed as either GDP per capita or homicide data unavailable",
       x = "GDP per capita ($)",
       y = "Number of homicides in 2013 (per 100k of population)") +
  scale_y_continuous(breaks = c(0,15,30,45,60,75,90)) +
  geom_smooth(method = "loess",
              formula = y ~ x,
              colour = "red",
              size = 0.5) +
  annotate(x = 50000, y = 75,
           label = paste("R = ", round(cor(crossnat$gdppercapita, crossnat$homicide, use = "complete.obs"),3)),
           geom = "text", size = 4)
谢谢


编辑-建议的可能的副本似乎对我不起作用。我认为这可能是由于
annotate()中嵌入了相关性的计算

这种格式很棘手。使用
parse=TRUE
时,需要注意空格。要格式化文本,需要分两步粘贴。让我们创建一个简单的可复制示例:

ggData <- data.frame(x=rnorm(100), y=rnorm(100) )
诀窍是用
sep=“~”
而不是空白粘贴这两个变量

ggplot(ggData, aes(x = x, y = y) ) +
  geom_point(alpha = 0.4) + 
  annotate("text", x = 2, y = 1.5,
           label = paste(textPart1, corVal, sep="~"), size = 4 , parse=TRUE)
ggplot(ggData, aes(x = x, y = y) ) +
  geom_point(alpha = 0.4) + 
  annotate("text", x = 2, y = 1.5,
           label = paste(textPart1, corVal, sep="~"), size = 4 , parse=TRUE)