首页 > 解决方案 > R控制轴号的科学格式

问题描述

我正在使用 ggplot 创建许多具有相似形状和 x 轴的图,但 y 轴具有很大不同的值。

我的问题是,有些图的 y 轴数字以单个指前数字表示,例如 2e-05,而有些图的数字具有两位或多位数字,例如 1.5e-05。

为了统一起见,我希望控制 y 轴数字的指数格式,以强制所有数字标签为特定位数,例如 2.0e-5。

非常感谢任何建议。

彼得

标签: rggplot2axis-labels

解决方案


您可以使用format格式化标签:

library(ggplot2)
a <- c(1e-5, 2.5e-4, 1.555e-3)
b <- 1:3

## No formatting
ggplot(NULL, aes(a, b)) +
  geom_point()

## Formatted
ggplot(NULL, aes(a, b)) +
  geom_point() +
  scale_x_continuous(breaks=a, labels=format(a, scientific=TRUE, digits=2))

reprex 包于 2021-07-14 创建 (v2.0.0 )


推荐阅读