哈喽呀,小伙伴们元旦假期过得都如何呀?最近看国内新闻的报道,各地疫情又有冒头的趋势,国内小伙伴的日常防护不要松懈呀。
最近忙于字幕组的工作,可还是不能放下公众号的推送。想了想新年的第一篇推送应该写什么,想了好久,最终决定写一篇如何使用R语言画圆的文章,也祝大家新的一年团团圆圆、圆圆满满。
圆的诞生
三角恒等式
其实,使用传统的绘图工具包比如ggplot2
画圆并没有想象中的那么简单。由于我们绘制的为二维平面图,ggplot2
的函数命令决定了我们只能绘制具有映射关系的函数图形。初中我们就学过,函数的映射关系是唯一的,一个值不可能对应两个值。根据圆的方程式,我们可得:
变换后可得:
所以,如果使用传统的圆的方程式,我们一次只可绘制出半个圆,那么我们就需要将两个半圆加在一起才能获得一个完整的圆。当然,我们也可以使用散点图的函数命令,绘制一个点,然后通过设定参数shape = 1
将其形状设定为空心圆,然后通过参数size
改变圆的大小,但是这样没办法定量精确控制圆心和半径。
那如何才能一次性绘制出一个标准的可精确控制的完整的圆呢?这里,我们引入一个非常基础的三角恒等式,高中三角函数应该有介绍:
由这个公式可知,取任意值以上等式皆成立,那么和就相当于半径为1圆心为的圆上的所有的点。有了这个公式,我们就有了绘制圆的起点。
最基础的圆
下面,我们根据三