方法一

install.packages('ggplot2')
library(ggplot2)# generowanie losowych punktów
x1 <- runif(100000, -1, 1)
y1 <- runif(100000, -1, 1.6)
# równanie na serce
which1 <- x1^2+(y1-(x1^2)^(1/4))^2<=1
x1 <- x1[which1]
y1 <- y1[which1]
# drugi poziom
x2 <- 1.5*x1 -1
y2 <- 1.5*y1
# trzeci poziom
x3 <- 2*x1 -2
y3 <- 2*y1
dt <- data.frame(c(x1,x2,x3),c(y1,y2,y3))
colnames(dt) <- c("x", "y")
dt$y <- dt$y - 0.25
dt <- dt[dt$x>-2 & dt$x<1 & dt$y>-2.25 & dt$y<0,]
dt <- data.frame(c(dt$x,dt$x), c(dt$y, -dt$y))
colnames(dt) <- c("x", "y")
#pieniek
p1 <- runif(1000, -0.5, 0.5)
p2 <- runif(1000, -2.5, -2)
pieniek <- data.frame(p1,p2)
colors <- c('green', 'green2', 'green4', 'darkgreen')
colors2 <- rep(colors,length.out=dim(dt)[1])
bombki <- data.frame(c(-1.8, -1.7, -1.1, -0.6, 0, 0.3), c(-1,0.7,-0.9,0.1,-0.3,0.3))
colnames(bombki) <- c("x", "y")
lancuch <- data.frame(data.frame(x1 = -0.5, x2 = 1, y1 = 21.0, y2 = 15.0))
gwiazda <- data.frame(c(0), c(0.7))
colnames(gwiazda)<- c("x", "y")
ggplot(data=NULL) + geom_point(data=dt, aes(x = y, y=x), col=colors2) +geom_point(data=bombki, aes(x=y, y=x), size=10, col='blue') +geom_point (data=pieniek, aes(x=p1, y=p2), col='brown') +geom_point(data=gwiazda, aes(x=x, y=y),size=10,shape=24, col="yellow", fill='yellow') +geom_point(data=gwiazda, aes(x=x ,y=y),size=10,shape=25, col="yellow", fill='yellow') +geom_curve(aes(x=-1,xend=1.2,y=-0.65,yend=-1.2), col='red',size=2, curvature = 0.3) +geom_curve(aes(x=1.2, y=-1.2, xend=-1.2, yend=-1.5), size=2, col="red", curvature = -0.3) +geom_curve(aes(x=-1,xend=0.8,y=-0.65,yend=-0.5), col='red',size=2, curvature = 0.3) +geom_curve(aes(x=-0.8,xend=0.8,y=-0.2,yend=-0.5), col='red',size=2, curvature = 0.2) +geom_curve(aes(x=-0.8,xend=0.9,y=-0.2,yend=0.15), col='red',size=2, curvature = 0.3) +geom_curve(aes(x=-0.65,xend=0.9,y=0.35,yend=0.15), col='red',size=2, curvature = 0.3) +theme(axis.line=element_blank(),axis.text.x=element_blank(),axis.text.y=element_blank(),axis.ticks=element_blank(),axis.title.x=element_blank(),axis.title.y=element_blank(),legend.position="none",panel.background=element_blank(),panel.border=element_blank(),panel.grid.major=element_blank(),panel.grid.minor=element_blank(),plot.background=element_blank())

最后得到的图是这个样子的:

方法二

L <- matrix(c(0.03,0,0,0.1,0.85,0.00,0.00,0.85,0.8,0.00,0.00,0.8,0.2,-0.08,0.15, 0.22, -0.2,0.08,0.15, 0.22,0.25, -0.1,0.12, 0.25,-0.2,0.1,0.12,0.2),nrow=4)
B <- matrix(c(0,0,0,1.5,0,1.5,0,0.85,0,0.85,0,0.3,0, 0.4),nrow=2)
prob = c(0.02, 0.6,.08, 0.07, 0.07, 0.07, 0.07)
N = 1e5
x = matrix(NA,nrow=2,ncol=N)
x[,1] = c(0,2)
k <- sample(1:7,N,prob,replace=TRUE)
for(i in 2:N){x[,i] = crossprod(matrix(L[,k[i]],nrow=2),x[,i-1]) + B[,k[i]]}
par(bg='black',mar=rep(0,4))
plot(x=x[1,],y=x[2,],col=grep('green',colors(),value=TRUE),axes=FALSE,cex=.1, xlab='', ylab='',pch='.')
bals <- sample(N,20)
points(x=x[1,bals],y=x[2,bals]-.1,col=c('red','blue','yellow','orange'),cex=1.5,pch=19)
text(x=-.7,y=8, labels='Merry', adj=c(.5,.5), srt=45,vfont=c('script','plain'),cex=3,col='gold')
text(x=0.7,y=8,labels='Christmas',adj=c(.5,.5),srt=-45, vfont=c('script','plain'),cex=3, col='gold')
text(x=-0.6,y=0,cex=0.8,labels="",col="white") #label参数可以写一点自己想写的内容, hhhh......

最后得到的图片是这个样子的:

用R语言写一颗圣诞树相关推荐

  1. r语言写九九乘法表并保存为txt文件

    r语言写九九乘法表并保存为txt文件 代码 for(i in 1:9){for(j in 1:i){cat(j,"x",i,"=",i*j,'\t',file= ...

  2. 圣诞节用代码写一颗圣诞树【html5写的3D逼真圣诞树外加python无延迟的豪华圣诞树】

    文章目录 前言[便捷源码下载处] 一.html版本 豪华动态圣诞树 抖音同款 操作步骤 1.新建文本 3.将后缀txt改为html 4.双击打开 [这是动态的] 二.python取消延迟秒出图版 [全 ...

  3. C 语言画一颗圣诞树

    使用须知:测试机为 Mac,windows 下可能会需要修改 代码使用了 usleep(),若为 windows 可能需要修改 先上效果图(牛是用 cowsay 生成的) #include <s ...

  4. r语言写内曼最优分配_R中最优化函数optim

    最优化函数optim 目标函数: $$f(x_1,x_2)=(1-x_1)^2+100(x_2-x_1^2)^2$$ 该函数全局最小值在($x_1=1,x_2=1$)时取到. 下面这种写法是因为有多个 ...

  5. 泰尔指数r语言_还在用Excel算区位基尼系数?用geo.gini吧!

    区域经济研究中,经常需要测度产业空间集中的程度,常用的指标有区位基尼系数(Locational GiniCoefficient).泰尔指数(Theil Index)和EG指数等.这一期先讲区位基尼系数 ...

  6. 分类树/装袋法/随机森林算法的R语言实现

    原文首发于简书于[2018.06.12] 本文是我自己动手用R语言写的实现分类树的代码,以及在此基础上写的袋装法(bagging)和随机森林(random forest)的算法实现.全文的结构是: 分 ...

  7. ++代码实现 感知机的原理_决策树ID3原理及R语言python代码实现(西瓜书)

    决策树ID3原理及R语言python代码实现(西瓜书) 摘要: 决策树是机器学习中一种非常常见的分类与回归方法,可以认为是if-else结构的规则.分类决策树是由节点和有向边组成的树形结构,节点表示特 ...

  8. R语言入门——猜数游戏

    0引言 实在无聊,看着抖音上在玩数字炸弹.自己用R语言写了个猜数字游戏.下面与大家分享一下. 1.代码 # 猜数游戏 # # 版权:统计学小王子 # R语言版本:3.6.2 # 参数:a是起始值,b是 ...

  9. R语言循环函数编写三境界

    1. 三境界 R语言写循环有三境界: 手动for循环 apply系列 purrr泛函式编程 其中,手动for循环我最常用,apply系列半吊子,purrr函数越用越趁手,这里介绍一下purrr编写循环 ...

最新文章

  1. saspython知乎_评分模型效用度量指标如何解析?(含Python、R、SAS代码)
  2. 这一年,信息技术领域上演的“断舍离”
  3. Unity3D_(游戏)贪吃蛇
  4. php运算符的关键字,PHP 运算符
  5. php 安装 phpunit,phpunit的安装
  6. 115个Java面试题和答案——终极列表(下)
  7. GCC优化选项:一般的文档里不容易找到的-Os
  8. tomcat和idea都占用了8080_详解IDEA 启动tomcat 端口占用原因以及解决方法( 使用debug模式)...
  9. jquery 页面自动滚动到顶部
  10. HTML 自动跳转代码
  11. wordpress如何快速配置SSL安全证书
  12. 手机功能测试主要测哪些方面?
  13. matlab仓库选址,物流中心选址matlab
  14. 程序员的幽默你不懂:那些让你爆笑的程序员段子
  15. Flutter ListView滚动到指定条目
  16. 产品| 产品白皮书(待更新)
  17. 城科软件协会官网正式上线
  18. Seam - 无缝集成 JSF,第 2 部分: 借助 Seam 进行对话
  19. 中山起湾周边学校有计算机吗,【趣味数据】乐有家:入学对口小区一直变?中山东区入学住哪里比较好...
  20. 用python编写累加_python中累加怎么做

热门文章

  1. android view ondestroy,Android片段onCreateView在onDestroy之后不再調用。
  2. Android获取硬件设备信息
  3. win10 php环境变量不起作用,win10系统添加PHP环境变量 安装composer的方法步骤
  4. 在线运行的Linux环境
  5. 有什么热门蓝牙耳机推荐?盘点四款最受欢迎的蓝牙耳机
  6. 判断ip是固定ip地址还是动态ip
  7. VUE+OSS安全令牌实现图片前端直传
  8. 医学图像分割中常用的度量指标
  9. java调用博思得打印机的心得
  10. 混淆概念详细解析:Python中类、对象、方法、函数和属性的区别和理解