如何在ggplot中强制坐标轴值使用科学计数法

28

我有以下代码:

 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

这个代码块生成了以下的图片:

enter image description here

如上图所示,我该如何将y轴的值改成科学计数法?


同时,使用ggplot2在R中更改X轴值刻度标签的方法请参考https://dev59.com/PmIj5IYBdhLWcg3wMicu。 - tatxif
3
加载 scales 包,然后在您的图表中添加 scale_y_continuous(labels = scientific) - conrad-mac
1个回答

56
您可以将启用科学计数法的格式函数传递给scale_y_continuous标签参数:
p + scale_y_continuous(labels = function(x) format(x, scientific = TRUE))

enter image description here


40
“scale_y_continuous(labels = scales::scientific)” 可以翻译为“纵轴连续缩放,标签为科学计数法”。 - alistaire

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接