【问题标题】:Force R to write scientific notations as n.nn x 10^-n with superscript强制 R 将科学记数法写为 n.nn x 10^-n 和上标
【发布时间】:2014-04-03 09:26:09
【问题描述】:

假设我有两个花车

a <- 8.9384920e-24
b <- 0.00293892837

我想在图表上以 10 基科学记数法显示它们中的任何一个,四舍五入到小数点后两位,可能使用 paste(),但在 10 之后使用上标格式。

8.94 x 10^-24 #no ^ and superscript font
2.94 x 10^-4  #no ^ and supercript font, should be -4, not -04

这真的很疯狂,但它已被上级要求,它必须在基础 R(而不是 ggplot2)中完成,否则我将不得不重新编写 600 行代码......现在我能看到的是根据它们的大小,浮动的打印方式会有所不同......

【问题讨论】:

    标签: r formatting notation


    【解决方案1】:

    您可以在包裹sfsmisc中查看eaxis

    # some data
    x <- seq(1, 100000, len = 10)
    y <- seq(1e-5, 1e-4, len = 10)
    
    # default axes
    plot(x, y)
    

    # eaxis
    plot(x, y, axes = FALSE)
    eaxis(side = 1)
    eaxis(side = 2)
    

    您还可以使用同一包中的pretty10exp() 创建标签expression。例如将格式应用于情节标题:

    plot(x, y, axes = FALSE)
    title(pretty10exp(y[1]))
    

    【讨论】:

    • 这非常好,尽管在 OP 中我打算在一个变量上使用它,而不是在轴上。但是感谢您的回复,我能够检查 sfsmisc 包并找到函数 pretty10exp() 正是我想要的!我冒昧地编辑了您的答案,使其包含pretty10exp() 可以吗?
    猜你喜欢
    • 2022-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-13
    • 1970-01-01
    • 1970-01-01
    • 2021-05-01
    相关资源
    最近更新 更多