首页 > 解决方案 > 在 geom_label 中解析:丰富显示对象时出错:解析中的错误(文本 = 文本 [[i]])=

问题描述

我使用以下代码打印geom_labelusing :ggplot

ggplot()+
    geom_label(aes( x = 10, y = 0.545, label = " expression 1 =  p-value = 9.19 e-09 ; CI : [0.00, 0.00]"), 
             label.size = NA , hjust =0.08, size = 3.5, family = "Helvetica")

我正在尝试p斜体打印
所以我试过了

ggplot()+
    geom_label(aes( x = 10, y = 0.545, label = " expression 1 =  p-value = 9.19 e-09 ; CI : [0.00, 0.00]"), 
             label.size = NA , hjust =0.08, size = 3.5, family = "Helvetica")+
    geom_label(aes( x = 10, y = 0.509, label = paste("expression 2 =  italic(p)-value = 9.19 e-09 ; CI : [0.00, 0.00]")), 
             label.size = NA, hjust =0.08, size = 3.5, family = "Helvetica", parse = T)

哪个返回我以下错误消息:

丰富显示对象时出错:解析错误(文本 = 文本 [[i]])::1:19:意外字符串常量 1:“表达式 1:”“斜体(p)”

你知道错误来自哪里以及如何解决它吗?

PS:基于这篇文章Unexpected symbol error in parse(text = str) with hyphen after a digit,我也试过了

ggplot()+
    geom_label(aes( x = 10, y = 0.545, label = " expression 1 =  p-value = 9.19 e-09 ; CI : [0.00, 0.00]"), 
             label.size = NA , hjust =0.08, size = 3.5, family = "Helvetica")+
    geom_label(aes( x = 10, y = 0.509, label = paste("'expression 2 =  italic(p)-value = 9.19 e-09 ; CI : [0.00, 0.00]'")), 
             label.size = NA, hjust =0.08, size = 3.5, family = "Helvetica", parse = T)

哪个有效,但返回给我这个 资源

标签: rggplot2text-parsing

解决方案


Study help("plotmath").

library(ggplot2)
ggplot()+
  geom_label(aes(x = 10, y = 0.545, 
                 label = " expression 1 =  p-value = 9.19 e-09 ; CI : [0.00, 0.00]"), 
             label.size = NA , hjust =0.08, size = 3.5)+
  geom_label(aes(x = 10, y = 0.509, 
                 label = paste("'expression 2 = ' *  italic(p) * '-value = 9.19 e-09 ; CI : [0.00, 0.00]'")), 
             label.size = NA, hjust =0.08, size = 3.5, parse = T)

I have removed family = "Helvetica" because it caused warnings on my system.


推荐阅读