Установка значений по умолчанию для геометрий и шкал ggplot2 - программирование
Подтвердить что ты не робот

Установка значений по умолчанию для геометрий и шкал ggplot2

Посылка для ggplot2 позволяет довольно легко отменить необходимость в нескольких или повторяющихся строках + opt().... Однако я хотел бы знать, есть ли способ определить значения по умолчанию для геометрий и цветов шкалы. Вместо того, чтобы писать ...+ scale_fill_manual() для каждого сюжета, я хотел бы иметь возможность установить его и забыть. Аналогично, я хотел бы иметь возможность устанавливать параметры геометрии, поэтому мне не нужно повторять (или забывать повторить) такие вещи, как geom_text(...,size=3,color="white")

Обновление:

Для масштабов в какой-то момент кажется, что существует метод:

set_default_scale("colour", "discrete", "grey")

Но эта функция, похоже, не существует в последней версии ggplot2.

4b9b3361

Ответ 1

Для этого есть другой метод. Вы можете по существу переписать любую шкалу эстетики, например:

scale_colour_discrete <- function(...) scale_colour_brewer(..., palette="Set2")
scale_fill_discrete <- function(...) scale_fill_brewer(... , palette="Set2")

Теперь ваша эстетика будет окрашена или заполнена после этого поведения.

В соответствии с: https://groups.google.com/forum/?fromgroups=#!topic/ggplot2/w0Tl0T_U9dI

В отношении значений по умолчанию для геометров вы можете использовать update_geom_defaults, например:

update_geom_defaults("line",   list(size = 2))

Ответ 2

Я не могу придумать ничего полезного для geom s, но для scales одним из вариантов было бы использование того факта, что компоненты ggplot - это все просто объекты R, которые могут быть сохранены, сохранены и переназначается, как и любой другой.

Итак, вы можете создать свою собственную коллекцию "стандартных" версий многих масштабов, например:

sfmDefault <- scale_fill_manual(...)
scmDefault <- scale_colour_manual(...)

и т.д.. с вашими желаемыми значениями по умолчанию. Поместите их в свой .RProfile или где угодно и используйте их по мере необходимости.