Сила R прекратит печать меток сокращенной оси - например, 1e + 00 в ggplot2
В ggplot2 как я могу остановить сокращение меток оси - например. 1e+00, 1e+01 вдоль оси x после построения графика? В идеале я хочу заставить R отобразить фактические значения, которые в этом случае будут 1,10.
Любая помощь очень ценится.
Ответ 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)