R 设置引导颜色栏的默认特性

R 设置引导颜色栏的默认特性,r,ggplot2,R,Ggplot2,我正在尝试为ggplot2中的guide\u colorbar设置一些默认值。与设置默认主题的方式相同,我希望能够设置默认的barheight,frame.color,等等。现在我必须为每个ggplot对象复制并粘贴相同的guide\u colorbar(),这似乎效率低下 我被这个问题难住了,我在主题中找不到任何颜色条选项。我可以设置默认的图例特征,例如图例高度,但这将应用于所有图例,而不仅仅是色条。我已经编写了自己的scale\u color\u me函数,该函数具有我想要的属性,但理想情况

我正在尝试为ggplot2中的
guide\u colorbar
设置一些默认值。与设置默认主题的方式相同,我希望能够设置默认的
barheight
frame.color
,等等。现在我必须为每个ggplot对象复制并粘贴相同的
guide\u colorbar()
,这似乎效率低下

我被这个问题难住了,我在主题中找不到任何颜色条选项。我可以设置默认的图例特征,例如图例高度,但这将应用于所有图例,而不仅仅是色条。我已经编写了自己的
scale\u color\u me
函数,该函数具有我想要的属性,但理想情况下,我希望更改默认值,以便任何渲染的颜色条(例如,通过
scale\u color\u viridis
)都具有我更新的默认值

library(tidyverse)

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

由(v0.2.1)于2019-03-29创建


喜欢现在使用
guide\u colorbar
定制颜色栏是多么容易,但是在每个绘图中都需要复制和粘贴大量代码!有什么想法吗?

在你的代码中定义一次像
gc=guide\u colorbar()
这样的东西,并在你正在使用的
scale\u color\u XXX()
中使用
guide=gc
这样的东西真的很麻烦吗?好主意,没想到,谢谢!
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")