Подтвердить что ты не робот

Сила R прекратит печать меток сокращенной оси - например, 1e + 00 в ggplot2

В ggplot2 как я могу остановить сокращение меток оси - например. 1e+00, 1e+01 вдоль оси x после построения графика? В идеале я хочу заставить R отобразить фактические значения, которые в этом случае будут 1,10.

Любая помощь очень ценится.

4b9b3361

Ответ 1

Я думаю, что вы ищете это:

require(ggplot2)
df <- data.frame(x=seq(1, 1e9, length.out=100), y=sample(100))
# displays x-axis in scientific notation
p  <- ggplot(data = df, aes(x=x, y=y)) + geom_line() + geom_point()
p

# displays as you require
require(scales)
p + scale_x_continuous(labels = comma)

Ответ 2

Вы попробовали что-то вроде:

options(scipen=10000)

перед построением графика?

Ответ 3

Просто обновление того, что сделал @Arun, так как я попробовал это сегодня, и это не сработало, потому что оно было актуализировано для

+ scale_x_continuous(labels = scales::comma)

Ответ 4

В качестве более общего решения вы можете использовать scales::format_format для удаления научной нотации. Это также дает вам большой контроль над тем, как именно вы хотите, чтобы ваши метки отображались, в отличие от scales::comma, который выполняет только разделение запятой на порядки.

Например:

require(ggplot2)
require(scales)
df <- data.frame(x=seq(1, 1e9, length.out=100), y=sample(100))

# Here we define spaces as the big separator
point <- format_format(big.mark = " ", decimal.mark = ",", scientific = FALSE)

# Plot it
p  <- ggplot(data = df, aes(x=x, y=y)) + geom_line() + geom_point()
p + scale_x_continuous(labels = point)