Відповіді:
Я думаю, ти шукаєш цього:
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.