其他
邪恶的曲线
今天终于可以声明原创了,哇卡卡,来点限制级的,只群发给男童鞋!
这是好久之前果壳性情上发的一个函数曲线,我们很容易在R里面把它画出来,有两个参数,所以我们定义函数,传入两个参数,返回值是x和y的函数。
f <- function(a, b) function(y) a * y * log(y, base=10) -1/b * exp(-(b*y - b/exp(1))^4)
我分别试了5组参数:
y <- seq(0, 1, length.out=100) cols = colorspace::rainbow_hcl(5) d1 <- data.frame(x = f(3, 30)(y), y=y, color=cols[1]) d2 <- data.frame(x = f(2.8, 33)(y), y=y, color=cols[2]) d3 <- data.frame(x = f(2.5, 36)(y), y=y, color=cols[3]) d4 <- data.frame(x = f(2.2, 40)(y), y=y, color=cols[4]) d5 <- data.frame(x = f(2, 50)(y), y=y, color=cols[5]) df <- list(d1, d2, d3, d4, d5) ggplot(rbind(d1,d2,d3,d4,d5)) + geom_path(aes(x, y, color=I(color))) + xlab(NULL) + ylab(NULL)
于是这邪恶的图就出来了:
可以把这5个size做成动图或者视频,一般情况下,略显生硬,所以我们需要搞些中间状态,让变化顺畅一点,这个可以用用tweenr来做,下面是代码,老司机可以开车了!貌似现在可以给文章留言了,大家可以试一下。
https://v.qq.com/txp/iframe/player.html?vid=r1311ie2sr5&width=500&height=375&auto=0