Yongchao Fu

我的第一个正式发布的软件作品guiplot

付永超 / 2020-05-12


开心~!

我的第一个正式发布的软件作品诞生了~!

昨天邮箱收到了CRAN审核员的邮件,我提交的“guiplot”包在通往CRAN的路上了,将被CRAN收录。

我今天看到该邮件后,来到电脑前测试了一下

install.packages("guiplot")`

Installing package into ‘C:/Users/***********/Documents/R/win-library/3.6’
(as ‘lib’ is unspecified)
installing the source package ‘guiplot’

试开URL’https://cran.rstudio.com/src/contrib/guiplot_0.1.0.tar.gz'
Content type 'application/x-gzip' length 14361 bytes (14 KB)
downloaded 14 KB

已经被正式收录了~

开心~开心~开心~!

我为guiplot包的写的介绍页面在这里,各位看官可以前往了解该包。

这里概述下该包的作用和使用方式:

guiplot包简介:

灵感:

该软件包是由Phoenix的XYplot操作对象、ggplot2包以及esquisse包所启发,撰写出来的,其主要作用是用于绘制图形。

用户操作逻辑

绘制的方式为“映射列表:提供数据”+“选项:提供美学样式”的方式完成图表的绘制,使用户可以通过简单的几步操作即可完成图表的生成。

包的实现逻辑

操作方式类似于“Phoenix的XYplot操作对象”,底层的绘图引擎是ggplot2,映射列表有DT包提供了类似的感受,我自己将他们进行了组合,并撰写了DT表格背后实现映射列表的逻辑引擎,以及有映射列表和选项卡实现ggplot2代码的引擎。

未来的规划:

目前该包提供了基本的图形绘制功能,我计划未来为其增加下列功能:

guiplot包用法

guiplot包开放的函数进行有个1,guiplot(),我开发此包的目的在于尽量较少代码的操作,做到傻瓜是的鼠标单击点点点,或者加一些快捷键。

所以仅提供未来一个函数,未来也打算仍然仅提供这一个函数。

该函数典型的用法有四种:

1.guiplot()

即不填写任何参数的情况下使用该包,此时该函数将读入当前R语言内容环境中的所有数据,并使用其中的数据框和矩阵类型的数据做为输入数据。

此场景适合纯R语言环境使用。

2.guiplot(out_dir=getwd)

今填写"out_dir"参数的情况下使用该包,并将该参数的值设定为当前的工作目录,此时该函数将读入当前R语言内容环境中的所有数据,并使用其中的数据框和矩阵类型的数据做为输入数据,然后将产生的结果输出值当前的R工作目录。

此场景适合是完全为Phoenix所打造的,用户只需在Phoenix中的R对象总共写入一下两行代码,

library(guiplot)

guiplot(out_dir=getwd)

即可以愉快的使用该包了,(当然你好需要在Phoenix的R对象中通过“选择数据源()”按钮额外的为此R对象添加数据源以便加载到R的内存中,但这是属于Phoenix的操作,与R无关~),这极大的降低了使用该包的难度,并且非常方便的扩展了Phoenix用户使用R语言绘图的功能,并提供了以他们所熟悉的方式进行设置的体验~~

其实我在设计该包时,连“out_dir=getwd”这点代码都不想添加,但CRAN政策不允许未经用户明确同意的情况下,将数据写入非临时目录中,所以只能添加了out_dir参数,用于满足政策要求。

3.guiplot(PK,PK,PK)

此时仅输入语言中可以调用的数据作为参数,同一数据可以填写多次,且可同时输入多个数据,数据输入是可以输入指代该数据的变量名,也可将入指代该数据的变量名作为文本输入,这种输入的好处是可以精确的控制输入的数据有哪些。

此场景适合习惯R语言习惯的人使用。

4.guiplot(PK,PK,PK,out_dir=Any_directory_you_want_to_export)

这种使用方式没啥好说的,与第3种类似,只是额外指定了一下“out_dir”参数,用于将结果输出至用户想要的任何目录下,同样他也适合于习惯R语言操作习惯的用户。