今天七夕,正好看到高等数学的心形线,想到心形线的函数应该可以用R语言来绘制,就尝试了一下。

心形线的参数方程为:
其中r是半径,t为弧度。

有了参数方程之后,我们的作图就变得简单了,其基本思路是:首先计算出x和y坐标的位置,接下为使用plot函数绘图,最后使用polygon函数填充即可。

下面我们就尝试一下:

par(pin=c(1.5, 1.5)) #设定图形的大小,长和宽定义为2,此处可以进行调整t<-seq(0, 2*pi, 0.01)  #设定弧度的值x=2*(cos(t)-0.5*cos(2*t))
y=2*(sin(t)-0.5*sin(2*t)) #计算(x, y)的值,半径定为1plot(x, y, type="l", ann=F, bty="n",xaxt="n",yaxt="n")   #进行绘图,图的形式为线形,去掉坐标轴polygon(x,y, col="red", border = "red") #把图形填充为红色,边框也填充为红色在这里插入代码片

这时,我们可以看到心形图绘制如下:
我们想把心形图换个方向,这时改下参数方程即可:

par(pin=c(1.5, 1.5)) t<-seq(0, 2*pi, 0.01)  x=2*(sin(t)-0.5*sin(2*t))
y=2*(cos(t)-0.5*cos(2*t)) #计算(x, y)的值,此处与上段代码有差异plot(x, y, type="l", ann=F, bty="n",xaxt="n",yaxt="n")  polygon(x,y, col="red", border = "red")

绘制图形如下:
但可能有人觉得这个还是有点不像心形,于是我在网上找了一个新的参数方程,使之更像心形;在代码上,只需要改(x, y)坐标设定的两行即可:

par(pin=c(1.5,1.5))t<-seq(0, 2*pi, 0.01)x=16*(sin(t))^3
y=13*cos(t)-5*cos(2*t)-2*cos(3*t)-cos(4*t)plot(x,y, type="l", ann=F, bty="n",xaxt="n",yaxt="n")polygon(x,y, col="red", border = "red")

得到图形如下:
这就是统计学人浪漫吧。

使用R语言绘制心形图相关推荐

  1. 绘制动态心形图案::R语言绘制心形图

    原始方程源于此贴一楼:直通车 整理修改后: 被窝修改成这样: x<-seq(-1.1,1.1,length = 3000) rep<-30 y<-matrix(,3000,rep) ...

  2. R语言绘制核密度图实战(Kernel Density Plot)

    R语言绘制核密度图实战(Kernel Density Plot) 目录 R语言绘制核密度图实战(Kernel Density Plot) #仿真数据

  3. r语言绘制精美pcoa图_R语言绘制交互式热图

    热图 通过热图可以简单地聚合大量数据,并使用一种渐进的色带来优雅地表现,最终效果一般优于离散点的直接显示,可以很直观地展现空间数据的疏密程度或频率高低.但也由于很直观,热图在数据表现的准确性并不能保证 ...

  4. R语言绘制气泡矩阵图

    R语言绘制气泡矩阵图 示例图 之前在一些文章中看到过气泡矩阵的表达方法,该图形表达的意思就是不同样本中不同物种的丰度分布情况,气泡越大则是代表物种的相对丰度(或者说16S得到的绝对丰度)越大,在这个例 ...

  5. matlab心形图c语言,MATLAB心形图.doc

    MATLAB心形图 三维图 表达你对他的爱 [X,Y,Z] = meshgrid(linspace(-3,3,101)); F = -X.^2.*Z.^3-(9/80).*Y.^2.*Z.^3+(X. ...

  6. python心脏线绘制代码_C++和Java命令行绘制心形图代码分享

    C++和Java命令行绘制心形图案 心形线 心形线,是一个圆上的固定一点在它绕着与其相切且半径相同的另外一个圆周滚动时所形成的轨迹,因其形状像心形而得名. 心脏线亦为蚶线的一种.在曼德博集合正中间的图 ...

  7. 使用R语言绘制地图,图审号地图:2019年中国地图-审图号GS(2019)1822号为基础制作的矢量shp 地图数据

    下面介绍用R语言如何绘制: 1 加载数据 · 以民政部网站数据为例,利用R语言如何下载数据和绘制地图.民政部数据的API为http://xzqh.mca.gov.cn/data/,全国边界矢量为qua ...

  8. R 语言绘制环状热图

    作者:佳名 来源:简书 - R 语言文集 1. 读取并处理基因表达数据 这是我的基因表达量数据: 图 Fig 1 > myfiles <- list.files(pattern = &qu ...

  9. R语言绘制堆叠面积图

    areaplot包绘制堆叠面积图 library(areaplot) #数据 df <- longley x <- df$Year y <- df[, c(1, 2, 3, 4, 6 ...

最新文章

  1. DeepCut及DeeperCut:基于Tensorflow的人体姿态估计
  2. 一些常被你忽略的CSS小知识
  3. Shell编程入门(第二版)(中)
  4. docker公共存储库_查找并修复docker镜像安全漏洞
  5. CSS如何水平垂直居中?
  6. startService与bindService
  7. chrome jsp 显示不正常_selenium+java谷歌浏览器 网站打开不正常
  8. 随机数-random模块
  9. TensorRT模型转换程序及用法
  10. Futter基础第16篇: 实现单行文本框、多选框
  11. php中的http是什么意思,请问php中三种http请求方式有什么区别呢(cURL,stream,socket)...
  12. FPS游戏通用自瞄实现
  13. 如何设计qPCR引物序列
  14. 关于C++里const的pitfall
  15. win10linux双系统引导设置,win10 + Ubuntu20.04 LTS双系统引导界面美化
  16. JVM 内存分哪几个区,每个区的作用是什么
  17. java中图片排版,如何快速排版PPT中的图片?这样做真实而不失美感
  18. 游戏服务器到底是什么?
  19. 【C++】之内联函数(inline)
  20. 计算机与S7-200 PLC通信的步骤,建立与S7-200 CPU在线联系设置修改PLC通信参数

热门文章

  1. webstorm 2018 激活破解方法亲测可用
  2. 5e服务器显示fps被锁定,csgo强制被锁60帧 被锁60fps解决方法
  3. Ubuntu编译内核树
  4. 更高效的记录方式,讯飞智能录音笔体验出色
  5. 【腾讯广告】监测链接和API自归因回传接口逻辑
  6. qpsk的映射过程_(完整版)QPSK调制原理及matlab程序实现
  7. 我用diffusion把姐妹cos成了灭霸的模样
  8. nacos整合springmvc:解决使用@Value或@NacosValue无法从nacos配置中心动态获取最新配置数据问题
  9. Python防微信撤回
  10. C#同步和异步(四)等待异步调用完成