【R语言教程】520的礼物♥

  • A+
所属分类:R语言

一切都是从一个故事开始的:1650年,斯德哥尔摩街头,一个宁静的午后,笛卡尔邂逅了18岁的瑞典公主克里斯汀。机遇巧合,一段纯粹、美好的爱情悄然萌发。然而,没过多久,他们的恋情传到了国王的耳朵里。国王大怒,将笛卡尔放逐,而公主被软禁在宫中。 身体孱弱的笛卡尔不久便染上重病,在生命进入倒计时的那段日子,他日夜思念的还是街头偶遇的那张温暖的笑脸。他每天坚持给她写信,盼望着她的回音。然而,这些信都被国王拦截下来。在笛卡尔给克里斯汀寄出第十三封信后,他永远地离开了这个世界。此时,被软禁在宫中的小公主依然徘徊在皇宫的走廊里,思念着远方的情人。这最后一封信上没有写一句话,只有一个方程:r=a(1-sinθ)。——传说中著名的心形函数。不过,事实告诉我们,除非你的目标妹子也是一只Geeker(至少会用Mathematica或者MATLAB等软件),否则像笛卡尔这样单给一个函数的结局大概就是你推公式别人推妹子了……表白什么的还是选择更浅显易懂的方法吧。

今天是520,传说中表白的好日子,在此,小编赠送大家绘制此函数的R代码。

最后,祝大家好运!

1祝福代码

1)加加载程序包

  1. library(grid)

2)绘制心形函数

  1. heart <- function(lcolor){
  2. t=seq(0, 2*pi, by=0.1)
  3. x=16*sin(t)^3
  4. y=13*cos(t)-5*cos(2*t)-2*cos(3*t)-cos(4*t)
  5. a=(x-min(x))/(max(x)-min(x))
  6. b=(y-min(y))/(max(y)-min(y))
  7. grid.lines(a,b,gp=gpar(col=lcolor,lty = "solid",lwd = 6))
  8. }
  9. heart("hotpink")
  10. grid.newpage()

3)绘制玫瑰函数

  1. rose=function(){
  2. grid.circle(x=0.5, y=0.5, r=0.5,gp=gpar(fill="red",lwd = 3))
  3. vp <- viewport(.5, .5, w=.9, h=.9)
  4. pushViewport(vp)
  5. grid.polygon(x=c(0.08, .5, 0.94),y=c(.22, 1.03, .22),gp=gpar(lwd =
  6. vp2 <- viewport(.5, .5, w=.4, h=.4)
  7. pushViewport(vp2)
  8. grid.circle(x=0.5, y=0.5, r=0.5,gp=gpar(fill="red",lwd = 3))
  9. vp3 <- viewport(.5, .5, w=.9, h=.9,angle=180)
  10. pushViewport(vp3)
  11. grid.polygon(x=c(0.08, .5, 0.94),y=c(.22, 1.03, .22),gp=gpar(lwd = 3))}
  12. rose()

4)调整图形

  1. grid.newpage()
  2. pushViewport(viewport(x=0.1, y=0.1,w=0.2, h=0.2))
  3. grid.newpage()
  4. for (j in 1:30) {
  5. vp <- viewport(.5, .5, w=.9, h=.9)
  6. pushViewport(vp)
  7. heart("hotpink")
  8. }

5)调整图形及添加文字

  1. grid.newpage()
  2. vp1 <- viewport(.4, .5, w=.5, h=.5,angle=15)
  3. pushViewport(vp1)
  4. heart("red")
  5. vp2 <- viewport(0.9, .27, w=.7, h=.7,angle=-30)
  6. pushViewport(vp2)
  7. heart("hotpink")
  8. grid.text("执手偕老",
  9. x=0.2,y =1.2, just = c("center""bottom"),
  10. gp = gpar(fontsize=30), vp = vp)
  11. vp3 <- viewport(-0.65, 1.2, w=.3, h=.3,angle=-30)
  12. pushViewport(vp3)
  13. rose()

2输出如下

【R语言教程】520的礼物♥

 

原文及图片来源:统计之都(作者林宇)以及果壳网(作者Maxwellsdemon,链接http://www.guokr.com/post/60867/)。

本文部分文字进行删减。

注:操作平台为Rstudio

南霁月
机器学习电子书
R语言实战(中文完整版)
MySQL必知必会
小额消费信贷用户数据

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: