首页 > 解决方案 > 删除百分比轴中的小数 - R

问题描述

我有一个情节,我需要从百分比数字中删除小数。数据已经四舍五入(两位小数),数据示例:

> head(df$X)
[1] 0.05 0.28 0.08 0.19 0.33 

然后我绘制它,scale_x_continuous()用于将其转换为百分比格式,但正如您在下图中看到的那样,它们仍然有一位小数,我需要那些没有小数的数字。

输出

这是图表的代码:

ggplot(df, aes(x=df$X, y=DF$Y)) + 
    geom_point(
        colour="red",
        size=5
        ) + 
  geom_text(label=df$Label, vjust=-2, family="sans", fontface="bold") +
  labs(x="X", y="Y") + xlim(-1,1) + ylim(-1,1) + scale_x_continuous(labels=scales::percent) + scale_y_continuous(labels=scales::percent)

我找到的最接近的答案是这个,但我不需要粘贴“%”符号,因为我已经有了它。

标签: rggplot2plot

解决方案


scales::percent有一个accuracy可以修改的参数。这应该给你你想要的:

ggplot(df, aes(x, y)) + 
  geom_point(
    colour="red",
    size=5
  ) + 
  labs(x="X", y="Y") + 
  xlim(-1,1) + 
  ylim(-1,1) + 
  scale_x_continuous(labels = function(x) scales::percent(x, accuracy = 1)) + 
  scale_y_continuous(labels = function(x) scales::percent(x, accuracy = 1))

推荐阅读