gpt4 book ai didi

r - ggplot2 : Show only necessary digits? 中的对数轴标签

转载 作者:行者123 更新时间:2023-12-04 11:38:36 25 4
gpt4 key购买 nike

我想在 ggplot2 中用 log10 刻度上的 x 轴和常规标签而不是具有最小小数位数的科学记数法来制作图表。这意味着我想将 0.1 显示为 0.1 而不是 0.10,将 100 显示为 100 而不是 100.00。

我试过

df = data.frame(x =  c(1:10 %o% 10^(-3:2)), y = rnorm(60))

ggplot(df, aes(x=x, y=y))+
geom_point()+scale_x_log10(labels=comma)

不幸的是,这显示为许多小数。

@BenBolker 回答了类似的问题 question以前和他的代码适用于没有小数的数字,但如果数字小于 1,它似乎给出与标签=逗号相同的结果。
plain <- function(x,...) {
format(x, ..., scientific = FALSE, trim = TRUE)
}

ggplot(df, aes(x=x, y=y))+
geom_point()+scale_x_log10(labels=plain)

最佳答案

添加 drop0trailing = TRUEplain .

plain <- function(x,...) {
format(x, ..., scientific = FALSE, drop0trailing = TRUE)
}

要查看 pretty-print 的其他选项,请参阅 ?format .

enter image description here

关于r - ggplot2 : Show only necessary digits? 中的对数轴标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50413812/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com