如何在ggplot中将轴值强制为科学记数法

nev*_*int 7 r ggplot2

我有以下代码:

 library(ggplot2)
 df <- data.frame(y=seq(1, 1e5, length.out=100), x=sample(100))
 p  <- ggplot(data = df, aes(x=x, y=y)) + geom_line() + geom_point()
 p
Run Code Online (Sandbox Code Playgroud)

哪个产生这个图像:

在此输入图像描述

如上图所示,如何将y轴值更改为科学计数法?

Psi*_*dom 17

您可以将format带有科学记数法的函数传递给scale_y_continuous标签参数:

p + scale_y_continuous(labels = function(x) format(x, scientific = TRUE))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 或者`scale_y_continuous(labels = scales :: scientific)` (14认同)