Установить параметры по умолчанию для guide_colorbar

#r #ggplot2

#r #ggplot2

Вопрос:

Я пытаюсь настроить некоторые значения по умолчанию для guide_colorbar в ggplot2. Таким же образом, как вы можете установить тему по умолчанию, я хотел бы иметь возможность устанавливать значения по умолчанию barheight , frame.color и т.д. Прямо сейчас я должен скопировать и вставить одно и то же guide_colorbar() для каждого объекта ggplot, что кажется неэффективным!

Я довольно озадачен этим, я не могу найти никаких параметров цветовой панели в теме. Я могу задать параметры легенды по умолчанию, такие как высота легенды, но это будет применяться ко всем легендам, а не только к цветовым полосам. Я написал свою собственную scale_color_me функцию, которая имеет нужные мне атрибуты, но в идеале я хотел бы изменить значения по умолчанию таким образом, чтобы любая цветовая панель, отображаемая (например, с помощью scale_color_viridis ), имела мои обновленные значения по умолчанию

 library(tidyverse)

diamonds %>% 
  sample_n(1000) %>% 
  ggplot(aes(price, carat, color = depth))   
  geom_point()   
  labs(title = "fine")
  

 diamonds %>%
  sample_n(1000) %>% 
  ggplot(aes(price, carat, color = depth))  
  geom_point()  
  scale_color_gradient(
    low = "white",
    high = "tomato",
    guide = guide_colorbar(
      frame.colour = "black",
      barheight = 15,
      frame.linewidth = 2,
      ticks.colour = "black",
      ticks.linewidth = 2
    )
  )  
  labs(title = "better")
  

Создано 2019-03-29 пакетом reprex (версия 0.2.1)

Мне нравится, как легко теперь настроить цветовую панель с помощью guide_colorbar , но для копирования и вставки каждого графика требуется много кода! Есть мысли?

Комментарии:

1. Действительно ли так сложно определить что-то подобное gc = guide_colorbar(<your preferences>) один раз в вашем коде и использовать guide = gc в любом scale_color_XXX() из них, которые вы используете?

2. хорошая идея, об этом не подумал, спасибо!