我的第一个正式发布的软件作品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代码的引擎。
未来的规划:
目前该包提供了基本的图形绘制功能,我计划未来为其增加下列功能:
- 辅助线功能
- ggplot2代码文本输出功能
- 结果选项卡正确展示输出内容的功能
- 同一组数据多次使用的功能
- 图例问题的修复
- 不同线条单独定制风格的功能
- Y2坐标轴功能
- 不同数据源在同一画布上绘制不同图表的功能
- guiplot的模板功能(导入、导出、加载包内与包外模板)
- 典型数据格式常用图表快速绘制实现功能
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语言操作习惯的用户。