Как заставить y-шкалы в ggplot в R следовать похожему формату нумерации? - PullRequest
0 голосов
/ 25 января 2020

Я бы хотел изменить формат чисел y-axis так, чтобы оси следовали аналогичному формату нумерации. Прямо сейчас Facet A просто, а Facet B научно c. Я понимаю, что есть большие различия в значениях двух facets, поэтому я использую log scale, чтобы сделать низкие значения более заметными. Я использовал labels = "scientific", чтобы заставить научную шкалу c, но дает мне ошибку. вот мой код - любая помощь будет оценена.

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

1 Ответ

2 голосов
/ 25 января 2020

Вы можете использовать функцию 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...