gpt4 book ai didi

r - 绘制渐变圆

转载 作者:行者123 更新时间:2023-12-04 03:15:59 25 4
gpt4 key购买 nike

我正在尝试复制带有渐变圆的Stephen Few图形,以证明光线从上方出现的严格假设。这是圈子:



我该如何重新创建?画圆并不太坏,但是添加渐变是我要抛出的地方。我认为网格可能会产生更清晰的效果,但这可能是我的误解。

这是绘制圆的开始:

## John Fox circle function
source("http://dl.dropboxusercontent.com/u/61803503/wordpress/circle_fun.txt")

par(mar=rep(1, 4), bg = "grey80")
plot.new()

for (i in seq(0, 1, by = .2)) {
for (j in seq(.6, 1, by = .1)) {
circle(i, j, .5, "cm", , 1)
}
}

相关问题: How to use R to build bubble charts with gradient fills

编辑:

以为我会分享结果:

还有 here's the code

最佳答案

重复使用clip,您可以到达那里。

# set up a blank plot
par(mar=rep(0, 4))
par(bg="#cccccc")
plot(NA,xlim=0:1,ylim=0:1)

# define a function
grad.circ <- function(centrex,centrey,radius,col,resolution) {
colfunc <- colorRampPalette(col)
shades <- colfunc(resolution)

for (i in seq_along(shades) ) {
clip(
centrex - radius,
centrex + radius,
(centrey + radius) - ((i-1) * (radius*2)/length(shades)),
(centrey + radius) - (i * (radius*2)/length(shades))
)
symbols(
centrex,
centrey,
circles=radius,
bg=shades[i],
fg=NA,
add=TRUE,
inches=FALSE
)
}
}

# call the function
grad.circ(0.5,0.5,0.5,c("black", "white"),300)

结果:

编辑(作者:泰勒·林克):

我想添加用于复制图像的其余代码:
FUN <- function(plot = TRUE, cols = c("black", "white")) {
plot(NA, xlim=0:1, ylim=0:1, axes=FALSE)
if (plot) {
grad.circ(0.5, 0.5, 0.5, cols, 300)
}
}

FUN2 <- function(){
lapply(1:3, function(i) FUN(,c("white", "black")))
FUN(F)
lapply(1:3, function(i) FUN())
}


X11(10, 4.5)
par(mfrow=c(3, 7))
par(mar=rep(0, 4))
par(bg="gray70")
invisible(lapply(1:3, function(i) FUN2()))

关于r - 绘制渐变圆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17333823/

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