ggplot2:如何为科学记号刻度标签指定小数位

时间:2020-05-10 13:48:43

标签: r ggplot2

我的轴刻度标签需要科学的格式,但是我想用“ 1.0 x 10 ^ 2”代替“ e + 00”后缀。我测试了this function by sherifffruitfly

library(tidyverse)
library(scales)
fitFunc <- function(xVar){
  0.01*xVar
}

#notation function by sherifffruitfly
scientific10 <- function(x){
  ifelse(x==0, "0", parse(text=gsub("[+]", "", gsub("e", " %*% 10^", scientific_format()(x)))))
}

#plot
ggplot(data.frame(x = c(0, 4)), aes(x = x)) +
  stat_function(fun = fitFunc, geom = "line")+
  scale_y_continuous( 
      labels = scientific10
  )

reprex package(v0.3.0)于2020-05-11创建

结果看起来like this接近我想要的结果,但是只有一个“ 1 x 10 ^ -2”,没有小数位。我希望在这些标签中指定小数位,例如1.0 x 10 ^ -2或1.00 x 10 ^ -2,等等。

scientific10 <- function(x){
  ifelse(x==0, "0", parse(text=gsub("[+]", "", gsub("e", " %*% 10^", scientific_format(digits = 3)(x)))))
}

,但没有用。那么如何获得1.00 x 10 ^ 2之类的格式?

0 个答案:

没有答案