R语言图层—利用ggplot画蝙蝠侠logo及分层

batman logo是由六个函数构成的。
利用ggplot2将多个线画到同一幅图案里面。
以下是r代码:


require(ggplot2)f1 <- function(x) {y1 <- 3*sqrt(1-(x/7)^2)y2 <- -3*sqrt(1-(x/7)^2)y <- c(y1,y2)d <- data.frame(x=x,y=y)d <- d[d$y > -3*sqrt(33)/7,]return(d)
}x1 <- c(seq(3, 7, 0.001), seq(-7, -3, 0.001))
d1 <- f1(x1)
p1 <- ggplot(d1,aes(x,y)) + geom_point(color="red")x2 <- seq(-4,4, 0.001)
y2 <- abs(x2/2)-(3*sqrt(33)-7)*x2^2/112-3 + sqrt(1-(abs(abs(x2)-2)-1)^2)#only work with ggplot2 <= 0.8.9
#p2 <- p1 + geom_point(aes(x=x2,y=y2), color="yellow")# in ggplot2 0.9.0, should be:
d2 <- data.frame(x2=x2, y2=y2)
p2 <- p1 + geom_point(data=d2, aes(x=x2,y=y2), color="yellow")x3 <- c(seq(0.75,1,0.001), seq(-1,-0.75,0.001))
y3 <- 9-8*abs(x3)
#p3 <- p2+geom_point(aes(x=x3,y=y3), color="green")
d3 <- data.frame(x3=x3, y3=y3)
p3 <- p2+geom_point(data=d3, aes(x=x3,y=y3), color="green")x4 <- c(seq(0.5,0.75,0.001), seq(-0.75,-0.5,0.001))
y4 <- 3*abs(x4)+0.75
#p4 <- p3+geom_point(aes(x=x4,y=y4), color="steelblue")
d4 <- data.frame(x4=x4,y4=y4)
p4 <- p3+geom_point(data=d4, aes(x=x4,y=y4), color="steelblue")x5 <- seq(-0.5,0.5,0.001)
y5 <- rep(2.25,length(x5))
#p5 <- p4+geom_point(aes(x=x5,y=y5))
d5 <- data.frame(x5=x5,y5=y5)
p5 <- p4+geom_point(data=d5, aes(x=x5,y=y5))x6 <- c(seq(-3,-1,0.001), seq(1,3,0.001))
y6 <- 6 * sqrt(10)/7 +(1.5 - 0.5 * abs(x6)) * sqrt(abs(abs(x6)-1)/(abs(x6)-1)) -6 * sqrt(10) * sqrt(4-(abs(x6)-1)^2)/14
#p6 <- p5+geom_point(aes(x=x6,y=y6), colour="blue")
d6 <- data.frame(x6=x6,y6=y6)
p6 <- p5+geom_point(data=d6,aes(x=x6,y=y6), colour="blue")p <- p6+theme_bw()
print(p)

图形如下:

R语言图层—利用ggplot画蝙蝠侠logo及分层相关推荐

  1. R语言(ggplot2)画KEGG信号通路气泡图

    R语言(ggplot2)画KEGG信号通路气泡图 1. KEGG信号通路的数据表be like⬇ 需要将原始数据处理成至少包含Term\Count\pValue\EnrichmentScore四列的数 ...

  2. R语言对dataframe(data.table)数据分层随机抽样实战

    R语言对dataframe(data.table)数据分层随机抽样实战 目录 R语言对dataframe(data.table)数据分层抽样实战 #仿真数据 #分层抽样

  3. R语言文本挖掘展示:画词云图

    一.wordcloud2包 首先安装和加载wordcloud2包 > install.packages("wordcloud2") > library(wordclou ...

  4. R语言中利用pacman安装和加载包

    R语言之强大,就在于它可以安装加载不同的包(package).很多前沿的科研工作者会把他们最新的工具写成包上传到github或者CRAN上,这样所有R的用户都可以下载使用. pacman是一个管理R包 ...

  5. R语言实战小案例-画相关矩阵图案例

    前言 本期使用R语言内置数据集进行练习:查看R包含哪些内置数据,请使用"data()"函数: 我们使用这里面的"mtcars"数据,包含"mpg&qu ...

  6. 利用ggplot画分组柱状图的方法

    首先构造出数据: > year <- c(2010,2011,2012,2013,2014,2015,2010,2011,2012,2013,2014,2015,2010,2011,201 ...

  7. R语言ggplot2包之画折线图

    引言 折线图一般用于描述一维变量随着某一连续变量变化的情况,连续变量通常为时间.换句话说,折线图最适合描述时间序列数据的变化情况.当然随着离散变量变化也是可以的,不过这个离散变量必须是有序的. 画一条 ...

  8. clustMD r语言_利用R语言实现微阵列数据分析-聚类分析

    原文见:http://www.biostat.ucsf.edu/jean/Presentation/IMSLAB.pdf 为了方便大家学习,我将该文翻译成中文加上一些相关的简单介绍,经验尚浅,还请大家 ...

  9. R语言中利用jiebaR包实现中文分词

    文章目录 介绍 worker()函数介绍 参数介绍 new_user_word()函数介绍 参数介绍 freq()函数介绍 实例 利用默认库进行分词 利用自定义词库进行分割 通过文本文件添加用户自定义 ...

最新文章

  1. JspServlet之Cookie
  2. 只需0行代码 | 文科生也能画词云图!
  3. JQuery让input从disabled变成enabled
  4. 德云斗笑社何九华为什么没参加_狗狗的身体卡在了门上,女主人低头一看忍不住笑了:这是膨胀了...
  5. 爱链工具 v1.11.24.0
  6. 通俗的说这是一个一对多的例子,看看人家是怎么做的!
  7. 深度学习自学(二十一):连续保存人脸检测、关键点检测后人脸状态-循环队列实现
  8. [转]ASP.NET MVC中你必须知道的13个扩展点
  9. matlab 拉普拉斯求解,matlab解拉普拉斯方程.ppt
  10. windows下的mujoco环境搭建
  11. 4.4 输入法图片 android,支持安卓4.4!搜狗输入法5.1新版发布
  12. ttest求pvalue_TTEST 在EXCEL计算出的结果是t还是p值
  13. [从头读历史] 第253节 孔子和他的《春秋》 [BC722至BC658]
  14. js base64解码JWT失败:VM273:1 Uncaught DOMException: Failed to execute 'atob' on 'Window': The string to
  15. ildasm + ilasm + ilmerge 小试牛刀
  16. QtQuick串口编程Demo
  17. CF1367C - Social Distance
  18. 围观 | 互联网大厂食堂PK:工作不是重点,食堂战胜一切!
  19. 计算机用户文件内存,win7用户文件夹太大占用大量内存空间怎么清除?
  20. Kylin 认证培训硬核召集令,助力打造金融科技大数据紧缺人才

热门文章

  1. 三星S6的Wifi连接上了,却无法上网
  2. CSS文本溢出省略号
  3. 使用SSH连接防火墙
  4. 互联网科普-什么是天猫
  5. Java map 遍历顺序
  6. java基本原理及三大框架原理和数据库基本知识点总结
  7. 远程桌面连接出现CredSSP的解决方法
  8. JAVA数组去重方法
  9. 分层双向链表+ 哈希表 实现LFU
  10. C for Graphic:卡通眼睛