gpt4 book ai didi

r - R中的2d颜色渐变图

转载 作者:行者123 更新时间:2023-12-01 22:58:55 24 4
gpt4 key购买 nike

我想产生一个2d彩色渐变矩形,如下面右图所示。我如何在R中做到这一点?使用colorRampRColorBrewer或其他函数/程序包,我可以生成漂亮的一维dolor渐变。但是我该如何在2D中做到这一点,包括角落中的几种颜色,例如右上方的矩形?



我想得到的是以下两种渐变类型:




BTY:我完全忘了提到我找到了上面的图表here(由Luca Fenu生产)。

最佳答案

感谢您对我的帖子发表评论-很高兴它引起了一些讨论。
这是实现右上角绘图所需的最少代码-我敢肯定还有其他更有效的方法可以执行此操作...但这不需要其他库即可工作,并且应该很容易遵循...您可以更改通过玩max_sat和alpha_default变量来实现饱和度和Alpha混合...

#define extremes of the color ramps
rampk2r <- colorRampPalette(c(rgb( 0/255, 0/255, 0/255), rgb(218/255, 0/255, 0/255)))
rampk2g <- colorRampPalette(c(rgb( 0/255, 0/255, 0/255), rgb( 0/255, 218/255, 0/255)))

# stupid function to reduce every span of numbers to the 0,1 interval
prop <- function(x, lo=0, hi=100) {
if (is.na(x)) {NA}
else{
min(lo,hi)+x*(max(lo,hi)-min(lo,hi))
}
}

rangepropCA<-c(0,20)
rangepropCB<-c(0,20)

# define some default variables
if (!exists('alpha_default')) {alpha_default<-1} # opaque colors by default
if (!exists('palette_l')) {palette_l<-50} # how many steps in the palette
if (!exists('max_sat')) {max_sat<-200} # maximum saturation
colorpalette<-0:palette_l*(max_sat/255)/palette_l # her's finally the palette...

# first of all make an empy plot
plot(NULL, xlim=rangepropCA, ylim=rangepropCB, log='', xaxt='n', yaxt='n', xlab='prop A', ylab='prop B', bty='n', main='color field');
# then fill it up with rectangles each colored differently
for (m in 1:palette_l) {
for (n in 1:palette_l) {
rgbcol<-rgb(colorpalette[n],colorpalette[m],0, alpha_default);
rect(xleft= prop(x=(n-1)/(palette_l),rangepropCA[1],rangepropCA[2])
,xright= prop(x=(n)/(palette_l),rangepropCA[1],rangepropCA[2])
,ytop= prop(x=(m-1)/(palette_l),rangepropCB[1],rangepropCB[2])
,ybottom= prop(x=(m)/(palette_l),rangepropCB[1],rangepropCB[2])
,col=rgbcol
,border="transparent"
)
}
}
# done!

关于r - R中的2d颜色渐变图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11070101/

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