查看原文
其他

Catterplots包,让你绘制不一样的图

2017-05-20 王亨 R语言中文社区

作者:王亨 ,R语言中文社区专栏作者,跟着菜鸟一起一步步学习R语言,争做R语言高手。

个人公众号:跟着菜鸟一起学R语言(微信ID:learn_R) 


就在最近我发现了一个比较有趣的包那就 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)))

这个包总共有四个函数:

catplotcats,  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函数的参数意义。


参数含义
xsx
ysy
size猫的大小
cat猫的类型,范围为1~12,共12
catcolor猫的颜色,透明度,四个参数值含
义为
c(红,绿,蓝,透明度)
linecolor设置拟合曲线的颜色,仅当type=
"line"
时有效。
type有两种,默认值为“justcats”,另一
个是“
line”,它也会画出拟合曲线
canvas设置画图面板的显示范围,详情可以
?par ,查看usr参数含义


cats函数和catplot函数相比就是多了一个obj参数,这个对象是一个绘图面板对象,使用cats函数可以在obj这个图像基础上再进行绘图。


morecats这个函数的一个特点就是catcolor=list(……)这样子的话就可以在一次绘图中猫的颜色可以不同。


multicat这个函数的特点就是结合了之前的几个函数的所有功能,不但有catcolor=list(……)这样的参数,而且新增了cat = c(……)这个参数,也就是说,我们可以在一次绘图中,猫的颜色和形状都可以不一样。


1


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))

2


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)))

3


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)))

好了这几个函数就介绍完了。其实我很想知道这个包的开发者到底有多么喜欢猫,他家该不会像下图一样吧!


号外:

5月23日张丹老师在Hellobi Live直播授课,只要19.99喔。数据老手教你如何用R语言开始量化投资

参加方式:扫码参团 | 阅读原文


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存