忙碌
付永超 / 2020-03-20
最近有些忙碌,既忙碌工作也在忙碌着调试代码。
最近我正在尝试写一个R包,该R包用于帮助用户在Phoenix内调用R与绘图时拥有像Phoenix本身一样的绘图功能一样的操作体验。
具体来说就是在R语言中实现一个用户图形界面(GUI),用户通过图形界面来完成对数据的映射,美学的调整,完全不需要使用代码。
我一直像实现这样的功能,搜索了R语言可以实现图形界面的一些解决方案,比如QT、GTK等,但感觉使用起来都不方便;我也了解过Shiny,但我一致比较排斥BS架构,认为这是缓慢的,低效,用户体验糟糕的代名词。
但最近再次查看了下shiny,虽然上述所说的问题依旧存在且严重,但GTK与QT的学习成本较高,且使用起来也需要用户安装的第三方软件才能使用,所以综合考虑Shiny成为目前最合适的选择。
考虑使用shiny的另外一个原因是看到了“esquisse”的“esquisser”函数,看起来和我的想法比较契合,但该包的的缺陷也很明显,根本不适用于真正的投入生产使用。
不能画出常见的药时曲线图(坐标轴对数尺度,同时画出点与线)
不能同时使用多个数据集在同一图上进行绘制(R语言本身可以,但作者的设计思想,以及最近所谓的一个管道的思想极大的破坏了这种使用方式)
所以我着手自己打造一个用于绘图的GUI,以帮助用户更便捷、灵活、无代码的方式绘制出想要的图形。
目前我已经完成了该包概念实现的部分,现在需要在这基础上添加美学设置、多数据集支持、内存数据识别的功能,由此就可实现一个方便好用,既可以用于R语言本身的用户,也可以用于无R语言基础的Phoenix用户,或者其他可以调用R语言的第三方软件,使用该包绘制出图形了。
我已将其上传到了我的Github账户上,最近会尝试将其在CRAN发布出来,敬请期待~!
guiplot包的说明介绍页面:https://s0521.github.io/guiplot/about/
guiplot包的Github页面:https://github.com/s0521/guiplot