Відповіді:
Я думаю, ти шукаєш цього:
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)
Ви спробували щось на кшталт:
options(scipen=10000)
перед тим, як скласти графік?
Просто оновлення того, що зробив @Arun, оскільки я спробував це сьогодні, і це не вийшло, тому що це було актуалізовано
+ scale_x_continuous(labels = scales::comma)
require(scales)? Це імпортує пакет, який містить commaмасштаб. Як ви виявили, ви також можете вказати пакунок, посилаючись на нього, замість того, щоб вимагати його заздалегідь.
Як більш загальне рішення, ви можете використовувати 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)
Є рішення, яке не потребує бібліотеки масштабів.
Ви можете спробувати:
# To deactivate scientific notation on y-axis:
p + scale_y_continuous(labels = function(x) format(x, scientific = FALSE))
# To activate scientific notation on y-axis:
p + scale_y_continuous(labels = function(x) format(x, scientific = TRUE))
# To deactivate scientific notation on x-axis:
p + scale_x_continuous(labels = function(x) format(x, scientific = FALSE))
# To activate scientific notation on x-axis:
p + scale_x_continuous(labels = function(x) format(x, scientific = TRUE))
Хіба не найпростіше загальне рішення встановити вищу штраф, яку R використовує для наукових позначень?
тобто встановити scipen()число, яке вам зручно.
Наприклад, якщо ваш максимум осі на діаграмах, ймовірно, буде 100 000, встановлення scipen(200000)забезпечить, що R (і ggplot) будуть використовувати стандартні позначення для всіх чисел нижче 200000 і не буде необхідності додавати рядки до функції ggplot.