我想制作一张我认为是R中非常简单的图表 - 它将显示落入两个类别之一的基因数量。R中的按比例大小的圆圈
圈子的面积必须相对于彼此,并显示我的两个类别的计数数量之间的巨大差异。一个类别是15000个,另一个是15个。因此,一个圈子的面积应该是另一个圈子的1000倍。有没有一个简单的R脚本可以用来做到这一点? (绘制两个圆圈,其中一个的面积比另一个小X倍)
我想制作一张我认为是R中非常简单的图表 - 它将显示落入两个类别之一的基因数量。R中的按比例大小的圆圈
圈子的面积必须相对于彼此,并显示我的两个类别的计数数量之间的巨大差异。一个类别是15000个,另一个是15个。因此,一个圈子的面积应该是另一个圈子的1000倍。有没有一个简单的R脚本可以用来做到这一点? (绘制两个圆圈,其中一个的面积比另一个小X倍)
可以使用plotrix
程序包和draw.circle
函数绘制圆圈。所以要回答你的问题,我们只需要计算每个圆的半径。为了进行比较,使第一个圆有单位面积更容易。所以,
## Calculate radius for given area
get_radius = function(area = 1) sqrt(area/pi)
##Load package and draw blank graph
library(plotrix)
plot(-10:10,seq(-10,10,length=21),type="n",xlab="",ylab="")
## Unit area
draw.circle(0, 0, get_radius())
## 10 times larger
draw.circle(0, 0, get_radius(10))
如this post所示,可以使用例如shape
包,并使用功能plotcircle
在那里你可以选择半径。例如:
require("shape")
emptyplot(c(0, 1))
plotcircle(mid = c(0.2, 0.5), r = 0.1)
plotcircle(mid = c(0.6, 0.5), r = 0.01)
我通常把这种图形作为一个“气泡图”,虽然我也看到他们被称为“气泡图”。将这些搜索词与R结合使用可以帮助您找到更多关于如何进行这些搜索的示例。 [实施例](http://flowingdata.com/2010/11/23/how-to-make-bubble-charts/)。 – aosmith