Поскольку я не эксперт по цвету, вы можете попробовать следовать в качестве отправной точки.Идея основана на утверждении, которое я где-то обнаружил, что пастельные цвета 1) имеют высокое значение и низкое или промежуточное насыщение в цветовом пространстве HSV или 2) нуждаются в некотором значении яркости.Поэтому я преобразую названия цветов в оттенки, которые вводятся для hcl
через col2rgb
& rgb2hsv
.
a <-c("red","red1","red2","red3","grey","darkgreen","skyblue","blue","magenta","magenta4","yellow","orange","pink","pink","black")
par(mfrow=c(3,1))
barplot(seq_along(a), col=a, main="original")
# transform to rgb
a1 <- col2rgb(a)
# transform to HSV space
a2 <- rgb2hsv(a1)
# you can try different scaling values e.g. between 0.3 - 0.6
n <- 0.4
barplot(seq_along(a), col=hsv(a2[1,], a2[2,]*n, a2[3,]), main="Pastel_hsv")
# calculate hue for HCl
hue <- a2["h",]*360
# create color with suitable chroma and luminance to get pastel color
a3 <- hcl(hue, 35, 85)
barplot(seq_along(a), col=a3, main="Pastel_hcl")
