如何在ggplot2对数刻度中去除标签的小数末尾零?
在ggplot2对数刻度中截断标签末尾零的方法
要让ggplot2的对数刻度标签显示为0.01、0.1、1、10、100(而非带末尾零的0.01、0.10、1.00等),直接用scales包的label_number()函数并开启drop_trailing_zeros参数即可。
示例代码
x <- c(0.01, 0.1, 1, 10, 100) # 默认带末尾零的效果 scales::demo_log10(x) # 去掉末尾零的效果 scales::demo_log10(x, labels = scales::label_number(drop_trailing_zeros = TRUE))
关键说明
drop_trailing_zeros = TRUE会自动剔除数字标签末尾的无效零,同时保留有效小数位:比如0.10会变成0.1,1.00会变成1,而0.01这类有实际意义的小数位会保留。- 若需要自定义精度,可额外搭配
accuracy参数,但针对这类对数刻度的典型数值,仅开启drop_trailing_zeros就足够解决问题。
内容的提问来源于stack exchange,提问作者Johann Laurent
相关产品推荐
相关产品推荐

