Записать метки оси в ggplot2: показать только необходимые цифры? - PullRequest
0 голосов
/ 18 мая 2018

Я хотел бы сделать график в ggplot2 с осью X на шкале log10 и метками в обычной, а не научной записи с минимальным количеством знаков после запятой.Это означает, что я хотел бы показать 0,1 как 0,1 вместо 0,10 и 100 как 100 вместо 100,00.

Я пытался

df = data.frame(x =  c(1:10 %o% 10^(-3:2)), y = rnorm(60))

ggplot(df, aes(x=x, y=y))+
      geom_point()+scale_x_log10(labels=comma)

К сожалению, это показывает много десятичных знаков.

@ BenBolker ранее отвечал на аналогичный вопрос , и его код отлично работает для чисел без десятичных знаков, но если числа меньше 1, то, похоже, результаты будут такими же, как метки = запятая.

plain <- function(x,...) {
  format(x, ..., scientific = FALSE, trim = TRUE)
}

ggplot(df, aes(x=x, y=y))+
  geom_point()+scale_x_log10(labels=plain)

1 Ответ

0 голосов
/ 18 мая 2018

Добавить drop0trailing = TRUE в plain.

plain <- function(x,...) {
  format(x, ..., scientific = FALSE, drop0trailing = TRUE)
}

Чтобы увидеть другие варианты красивой печати, см. ?format.

enter image description here

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