就在最近我发现了一个比较有趣的包那就 CatterPlots包。至于怎么有趣那就接着看。
首先我们来安装这个包:
library(devtools)
install_github("Gibbsdavidl/CatterPlots")
这个包目前在github,需要这样安装。
首先我们来画一个圆形看看效果。
radius <- 1
theta <- seq(0, 2 * pi, length = 30)
multicat(xs=radius*cos(theta),ys=radius* in(theta),
cat=c(1,3,6,9), catcolor= list(c(1,0.4,0,1),
c(0,0.4,0,1), c(0.7,0,0,1), c(0,0,0.6,1)))
这个包总共有四个函数:
catplot,cats, morecats, multicat。
这四个函数原型分别如下:
catplot(xs, ys, size = 0.1, cat = 1, catcolor = c(0, 0, 0, 1),
linecolor = 1,type = "justcats",canvas = c(0, 1.1, 0, 1.1),...)
cats(obj= NULL,xs,ys,size = 0.1,cat = 2,catcolor = c(0,0,0,1),
linecolor = 1, type= "justcats")
morecats(obj= NULL,xs,ys,size= 0.1,cat = c(4,5,6),catcolor =
list(c(0,0,1,1),c(0,1,0,1)),linecolor = 1, type = "justcats")
multicat(xs, ys, size = 0.1, cat = c(1,2,3), catcolor =
list(c(1,1,0,1), c(0,0,0,1), linecolor = 1,
type = "justcats", canvas = c(0, 1.1, 0, 1.1), ...)
主要说一下catplot函数的参数意义。
cats函数和catplot函数相比就是多了一个obj参数,这个对象是一个绘图面板对象,使用cats函数可以在obj这个图像基础上再进行绘图。
morecats这个函数的一个特点就是catcolor=list(……)这样子的话就可以在一次绘图中猫的颜色可以不同。
multicat这个函数的特点就是结合了之前的几个函数的所有功能,不但有catcolor=list(……)这样的参数,而且新增了cat = c(……)这个参数,也就是说,我们可以在一次绘图中,猫的颜色和形状都可以不一样。
cats函数
x <- -10:10
y <- x^2
purr <- catplot(xs=x, ys=y, cat=3, catcolor=c(0,1,1,1))
y2<-(x-1)^2
cats(purr, x=x, y2, cat=3, catcolor=c(0,1,0,1))
cats(purr, x=x, y=-y, cat=3, catcolor=c(1,0,0,1))
y3<-(x+0.5)^2
cats(purr, x, -y3, cat=3, catcolor=c(0,0,1,1))
morecats函数
x <- -10:10
y <- -x^2 + 10
purr <- catplot(xs=x, ys=y, cat=3, catcolor=c(0,1,1,1))
morecats(purr,-x,-y,cat=c(4,5,6),catcolor=list(c(1,0,1,1),c(0,1,0,1)))
multicat函数
x <- -10:10
y <- -x^2 + 10
multicat(xs=x,ys=y,cat=c(1,3,6,9),catcolor=list(c(1,0.4,0,1),
c(0.7,0,0,1),c(0,0,0.6,1)))
好了这几个函数就介绍完了。其实我很想知道这个包的开发者到底有多么喜欢猫,他家该不会像下图一样吧!