如何在R中的ggplot中标准化y尺度?

问题描述 投票:0回答:1

我想更改y-axis号的格式,以使轴遵循相似的编号格式。现在,Facet A是简单的,而Facet B是科学的。我知道两个facets的值之间存在很大差异,这就是为什么我使用log scale使较低的值更明显的原因。我使用labels = "scientific"来强制比例尺科学化,但给了我错误。这是我的代码-任何帮助将不胜感激。

library(tidyverse)

DF = data.frame(A = runif(8000, 100,800), B = runif(8000, 0, 10), C = 1:8000)
DF_g = gather(DF, key = "Variable", value = "Value", - C)
ggplot(DF_g, aes(x = C, y = Value, color = Variable))+
  geom_boxplot(lwd = 1)+facet_wrap(~Variable, nrow = 2, scales = "free_y")+
  scale_y_continuous(trans = "log10")

我从代码中得到的数字是enter image description here

r ggplot2 scale axis-labels facet-wrap
1个回答
0
投票

您可以使用scientific_format()中的功能scales

ggplot(DF_g, aes(x = C, y = Value, color = Variable))+
    geom_boxplot(lwd = 1)+facet_wrap(~Variable, nrow = 2, scales = "free_y")+
    scale_y_continuous(trans = "log10", labels = scales::scientific_format())

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.