Как переопределить форматирование оси ggplot2? - PullRequest
9 голосов
/ 25 мая 2010

Когда вы выбираете масштаб журнала, ggplot2 форматирует разрывы как 10 ^ x. Я бы хотел, чтобы это не делалось. Например, приведенный ниже код должен отображать график с отметками 1, 2, 5 и т. Д., А не 10 ^ 0, 10 ^ 0,3, 10 ^ 0,69 и т. Д.

library(ggplot2)
dfr <- data.frame(x = 1:100, y = rlnorm(100))
breaks <- as.vector(c(1, 2, 5) %o% 10^(-1:1))
p1 <- ggplot(dfr, aes(x, y)) + geom_point() + scale_y_log10(breaks = breaks)
print(p1)

Полагаю, что добавление аргумента formatter к scale_y_log10 поможет, но я не уверен, что указать в аргументе или где параметры могут быть задокументированы.

Ответы [ 2 ]

8 голосов
/ 25 мая 2010

scale_y_log10(breaks = breaks, labels = breaks должен сделать трюк.

4 голосов
/ 23 июля 2012

Начиная с версии 0.9.0 ggplot2, это поведение (форматирование меток осей как 10 ^ 0) больше не используется по умолчанию. Код в вопросе теперь дает желаемый результат.

library(ggplot2)
dfr <- data.frame(x = 1:100, y = rlnorm(100))
breaks <- as.vector(c(1, 2, 5) %o% 10^(-1:1))
p1 <- ggplot(dfr, aes(x, y)) + geom_point() + scale_y_log10(breaks = breaks)
print(p1)

enter image description here

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