gpt4 book ai didi

R将颜色转换为柔和的颜色

转载 作者:行者123 更新时间:2023-12-04 12:11:45 28 4
gpt4 key购买 nike

我有一个手动设计的调色板 pal我使用 ggplot2 用于绘图

 pal <- c("red","red1","red2","red3","grey","darkgreen","skyblue","blue","magenta","magenta4","yellow","orange","pink","pink","black")

我想将这些颜色转换为柔和的颜色(即 HSV 颜色空间中的高值和低饱和度)

有没有什么简单的方法可以自动做到这一点?

我找到了 pastel.colors来自 RPMG但是,此函数不会转换给定的颜色。

最佳答案

由于我不是色彩专家,您可以尝试以下作为起点。这个想法是基于我在某处发现的一个陈述,即柔和的颜色 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")

enter image description here

关于R将颜色转换为柔和的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50600425/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com