В ggplot2 как я могу остановить сокращение меток осей - например, 1e+00, 1e+01
по оси x после построения? В идеале я хочу заставить R отображать фактические значения, которые в этом случае будут 1,10
.
Любая помощь очень ценится.
Думаю, вы это ищете:
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)
Вы пробовали что-то вроде:
перед построением графика?
источник
Просто обновление того, что сделал @Arun, так как я попробовал это сегодня, и это не сработало, потому что оно было актуализировано до
источник
require(scales)
? Это импортирует пакет, содержащийcomma
шкалу. Как вы обнаружили, вы также можете указать пакет при обращении к нему, вместо того, чтобы требовать его заранее.В качестве более общего решения вы можете использовать
scales::format_format
для удаления научного обозначения. Это также дает вам полный контроль над тем, как именно вы хотите, чтобы ваши ярлыки отображались, в отличие от того,scales::comma
что делает только разделение запятыми на порядок.Например:
источник
Есть решение, для которого не требуется библиотека весов.
Можешь попробовать:
источник
Разве не самое простое общее решение установить более высокий штраф, который R использует для научной записи?
т.е. установить
scipen()
на удобное для вас число.например, если ваш максимум оси на диаграммах, вероятно, будет 100 000, установка
scipen(200000)
гарантирует, что R (и ggplot) будет использовать стандартную нотацию для всех чисел ниже 200000, и не будет необходимости добавлять какие-либо строки в функцию ggplot.источник
Расширение исходного вопроса на дроби, т. Е. 1, 0,1, 0,01, 0,001 и т. Д. И исключение конечных нулей.
источник