在ggplot2的注释中停止解析小数后的零

Joh*_*tch 5 r ggplot2

我需要在ggplot2图上注释一个位置,其中包含一个(实际)希腊字母和一个四舍五入到小数点后两位的数字.我的问题出现了,因为我想显示小数位,即使它们都是零.不幸的是,parse = T在设置annotate的字符串转换"1.00""1".这是一个具体的例子:

alpha_num <- "1.00"
p <- ggplot(data.frame(x=1,y=1,label=paste0("alpha == ", alpha_num)))
p <- p + geom_text(aes(x,y,label=label), parse = TRUE, size = 30)
Run Code Online (Sandbox Code Playgroud)

上面的代码生成以下图:annotate正在解析我的零

如何alpha_num完整显示?

Mih*_*iha 6

您可以使用deparse.

所以你的代码看起来像这样

alpha_num <- "1.00"
p <- ggplot(data.frame(x=1,y=1,label=paste0("alpha == ", alpha_num)))
# Use deparse in label
p <- p + geom_text(aes(x,y,label=paste0("alpha == ", deparse(alpha_num))), parse = TRUE, size = 30)
p  
Run Code Online (Sandbox Code Playgroud)

输出是:

在此处输入图片说明