Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R ggplot geom_文本接受标记_R_Ggplot2_R Markdown - Fatal编程技术网

R ggplot geom_文本接受标记

R ggplot geom_文本接受标记,r,ggplot2,r-markdown,R,Ggplot2,R Markdown,我正在尝试使用geom_文本向ggplot图添加标签。我可以正确添加标签,但无法使标签使用标记。我需要文本遵循统计惯例 ggplot(diamonds, aes(carat, price)) + geom_point(alpha=0.1) + geom_smooth(method="lm") + geom_text(size=2.5, aes(x = 4, y = 4, label=paste("r^2=", 0.34,

我正在尝试使用geom_文本向ggplot图添加标签。我可以正确添加标签,但无法使标签使用标记。我需要文本遵循统计惯例

ggplot(diamonds, 
   aes(carat, price)) + 
   geom_point(alpha=0.1) +
   geom_smooth(method="lm") + 
   geom_text(size=2.5, aes(x = 4, y = 4,
                      label=paste("r^2=", 0.34, "\n",
                           "gradient= ", 0.56, "\n",
                           "_p_=", 0.003)))
使用@missue answer,我们可以

nonmetric_label = c(paste0("italic(R)^2 ==", 0.34),
                      paste0("gradient ==", 0.65),
                      paste0("italic(p) ==", 0.003)) 

ggplot(diamonds, 
         aes(carat, price)) + 
    geom_point(alpha=0.1) +
    geom_smooth(method="lm") +
    annotate("text", x = c(4,4,4), y = c(6500,3250,500),
             label = nonmetric_label , parse = TRUE) 

什么是
\u p
的意思?斜体p。使用降价标记您能否澄清您是否需要将标签设置为斜体(在这种情况下,A.Suliman的答案可能会解决您的问题),或者您是否特别希望ggplot遵守降价标记(在这种情况下,您的问题可能不可能,或者至少非常困难)?如果不可能,那很好,我将使用下面的解决方案。我认为在geom_文本中不可能进行标记。如果您对LaTeX格式没问题,您可以将
label_parsed()
latex2exp
包组合在一起,或者使用TikZ…因此基本上答案是不使用geom_文本,而是使用annotate。您可以使用parse=TRUE在geom_文本中获得正确的格式,但它不喜欢\nYes,但您可以在geom_文本中使用\n,如图所示