R语言绘图包01--优秀的拼图包patchwork

Python018

R语言绘图包01--优秀的拼图包patchwork,第1张

常用的拼图包:par()中的mfrow、grid.arrange、cowplot、customLayout、patchwork等等

其中最方便快捷且功能强大的是patchwork

官网: https://patchwork.data-imaginist.com/index.html

图形准备

横着拼就"|"或"+",竖着拼就"/"

默认情况下,patchwork会是拼的图呈方形,并按行排列。

更多布局设置,参考: https://patchwork.data-imaginist.com/articles/guides/layout.html

当进行拼图时,后一个图是active的,可以接受新的ggplot2对象比如geoms,labels等

通过额外传入plot_annotation()参数来设置

patchwork还可以自动标记。(拉丁字母,阿拉伯数字,罗马数字都可以。)

设置字体大小

Java调用R,就是使用JRI.jar中的Api,执行一条R语言命令,当然首先你要了解R语言的语法。

1.JRI中主要的API

Rengine R引擎,通过它进行R语言的启动、运算、画图、关闭等功能。

一个线程只能实例化一次,推荐使用单例模式。

实例化代码:

Rengine engine = new Rengine(null,false,null)

Rengine.versionCheck() //R版本校验,返回true:版本校验通过 返回false:版本校验未通过

engine.waitForR() //R加载校验,返回true:加载成功 返回false:加载失败

engine.end() //结束R,在后续没有调用R的情况下使用,否则R将退出,不能继续使用R。

2.REXP

R计算结果表达式

REXP rexp = engine.eval_r(String str) //执行R命令,返回结果REXP

rexp.asInt() rexp.asDouble() rexp.as.. //将REXP转成java类型

engine.assign(String name,double d) //定义R变量,name为R中变量的名字

以上大概了解了JRI的基本API,下面写个简单的例子。

//求n个数的最大值

Rengine engine = new Rengine(null,false,null)

int[] arr = new int[]{-1,2,1,-3,5,4,-2}

engine.assign("x",arr)

REXP rexp = engine.eval_r("max(x)")

int max = rexp.asInt()

System.out.println(max)

engine.end()

两个办法:

1. 安装‘minqa’包,在R的命令行界面打入“install.packages(‘minqa’)”.

2. 如果上面方法不行,卸载‘car’,并且重新安装。有可能早先安装这个包的方法不对。

或者可以选择重新下载R语言软件包下载,下载地址直接搜索  rpackage就可以,或者,进去cran r,_面有packages的下载,