Предположительно, вы хотели бы сделать что-то простое, например, добавить + scale_colour_company()
в свои графики. На самом деле это очень легко сделать без необходимости использования целого пакета (хотя, конечно, если у вас в компании несколько пользователей R, в любом случае, для этого могут быть и другие веские причины).
Предположим, вы хотели бы иметь возможность сделать это:
data.frame(x = runif(30), y = runif(30), z = factor(rep(letters[1:3], 10))) %>%
ggplot(aes(x = x, y = y, colour = z)) +
geom_point(size = 5) +
scale_colour_company()
![enter image description here](https://i.stack.imgur.com/mC2gd.png)
Все, что вам нужно, это определить функцию палитры, которая принимает одно целое число и возвращает вектор символов, представляющих цвета. Например:
company_palette <- function(n)
{
company_colours <- c("forestgreen", "steelblue1", "#FD759A", "#A39847")
if(n > length(company_colours)) stop("Need more company colours!")
return(company_colours[seq(n)])
}
Теперь вы можете создавать свои ggplot-совместимые функции очень просто:
scale_fill_company <- function() discrete_scale("fill", "A", palette = company_palette)
scale_colour_company <- function() discrete_scale("colour", "A", palette = company_palette)
Сохраните эти 6 строк в скрипте .R, и вы можете go