ggpubr: измените обводку формы метки - PullRequest
1 голос
/ 16 января 2020

Я использую функцию ggline() из ggpubr для создания линейного графика со средним и SD. Я хотел бы увеличить толщину своих форм. в ggplot это обычно делается через geom_point(stroke=), но не работает с ggline! У кого-нибудь есть идеи, как это сделать?

ggline(iris, x = "Species", y = "Sepal.Length", add = "mean_se",
       color = "Species",shape = 7,size = 1,point.size=3,palette = c("black", "blue","red"),width=10,geom_point(stroke=1)
       )

Хотелось бы, чтобы квадраты были толще: I would like to have the squares thicker

1 Ответ

2 голосов
/ 16 января 2020

Вам может потребоваться обновить значения по умолчанию для geom ... на самом деле не вижу пути к

Сначала сохраните значения по умолчанию, чтобы вы могли восстановить их (из ggplot: как установить Цвет по умолчанию для всех геом? ):

library(ggplot2)
library(purrr)

geom_aes_defaults <- function() {
  geom_names <- apropos("^Geom", ignore.case = FALSE)
  geoms <- mget(geom_names, env = asNamespace("ggplot2"))
  map(geoms, ~ .$default_aes)
}

old = geom_aes_defaults()$GeomPoint

Теперь для вашего графика:

update_geom_defaults("point", list(stroke = 1.5))
ggline(iris, x = "Species", y = "Sepal.Length", add = "mean_se",
       color = "Species",shape = 7,size = 1,point.size=3,
       palette = c("black", "blue","red"),width=10
)

И мы восстановим значение по умолчанию:

update_geom_defaults("point", list(stroke = old$stroke))
# you can also do
#update_geom_defaults("point", list(stroke = 1))
...