从 R 中的 scale::p ercent() 中删除百分号

remove percentage sign from scale::percent() in R

提问人:krishthw 提问时间:6/13/2020 最后编辑:Waldikrishthw 更新时间:2/3/2022 访问量:1296

问:

这是我的代码。

my_boxplot <- ggplot(mtcars,aes(x=as.factor(cyl),y=mpg)) + 
  geom_boxplot(aes(fill=cyl,color=cyl)) + xlab('Cylinders') + ylab('Miles per Gallon %')+
  scale_y_continuous(labels = function(x) scales::percent(x, accuracy = 0.01))
my_boxplot

此代码将 y 轴显示为百分比,我想将精度保持在小数点后 2 位并删除百分号。

我也试过这个。它只删除百分号,但不设置精度。

scale_y_continuous(labels=function(x) paste0(x*100))有谁知道如何将精度保持在所需的小数位并从百分比值中删除百分号?感谢您的帮助!

r ggplot2 浮点精度 百分比

评论

0赞 Waldi 6/13/2020
你能提供一个最小的可重复的例子吗?
0赞 krishthw 6/13/2020
我已经编辑了代码。对不起,它没有正确加载。这适用于 R mtcars 数据集,如果将其复制到 R 控制台。它应该起作用。
0赞 Peter 6/13/2020
为什么变量标记为“每加仑英里数百分比”?肯定是“mpg”吗?是否需要将 y 变量更改为百分比变量?mpgmpg
0赞 krishthw 6/13/2020
是的,peter1 我想将 y 轴更改为百分比值,并且由于我在 y 轴标签上包含百分比标记,因此我不希望它出现在每个刻度标签上。我想将每个刻度标签的准确性保持在小数点后一位。
0赞 krishthw 6/13/2020
谢谢@MarBlo,你能给我解释一下str_extract(l,'[ 0-9.]+') 做?

答:

1赞 Waldi 6/13/2020 #1

尝试:

my_boxplot <- ggplot(mtcars,aes(x=as.factor(cyl),y=mpg)) + 
  geom_boxplot(aes(fill=cyl,color=cyl)) + xlab('Cylinders') + ylab('Miles per Gallon %')+
  scale_y_continuous(labels = function(x) format(x, digits=2, nsmall=2))
my_boxplot

enter image description here

评论

0赞 krishthw 6/13/2020
是的,这行得通。非常感谢。我稍微更改了您的代码,使 x 变为 x*100。它工作得很好。谢谢