gmgitx / BLOG_natural_science

精于勤,荒于嬉;行成于思,毁于随。 韩愈
GNU General Public License v3.0
0 stars 0 forks source link

在远程服务器上直接查看R图 #23

Open gmgitx opened 5 years ago

gmgitx commented 5 years ago

23

gmgitx commented 5 years ago

############在SSH中打开X11绘图设备

gmgitx commented 5 years ago

参考关于SSH secury shell中R编程绘图图像显示问题

> dev.list()    #当前所使用的绘图设备
NULL
> capabilities()    #当前可用的绘图设备
       jpeg         png        tiff       tcltk         X11        aqua
       TRUE        TRUE        TRUE        TRUE       FALSE       FALSE
   http/ftp     sockets      libxml        fifo      cledit       iconv
       TRUE        TRUE        TRUE        TRUE        TRUE        TRUE
        NLS     profmem       cairo         ICU long.double     libcurl
       TRUE       FALSE        TRUE        TRUE        TRUE        TRUE

看到X11是不可用的:

> X11()
Error in .External2(C_X11, d$display, d$width, d$height, d$pointsize,  :
  unable to start device X11cairo
In addition: Warning message:
In X11() : unable to open connection to X11 display ''

就是要本地(我本地是XP)安装一个叫Xmanager的软件。后来看了一下这个软件,发现其主要功能就是接受从服务器上传回的绘图指令,然后再在本地安装这个指令画图。它实际上监听了一个端口,这个端口(11号端口?)就是跟绘图相关的。所以现在本地运行Xmanager后,再在SSH上R中绘图,就可以啦!命令capabilities(),我们也可以看到X11变成TRUE。

-------------------------------Cairo--------------------------------

参考R语言的高质量图形渲染库Cairo。这个写的很不错,似乎用法上就是开始的那一行变了。还有这篇R语言Cairo包的使用。BUT, 这个渲染到底是何意?

  1. 两种安装方式。有root是考虑的,以及我conda助力装的。
  2. 两种画法。ggplot2和R,也都讲的很清楚。

ggplot2

###看样子应该是直接弹出窗口???
#ggsave默认以Cairo处理图片
ggsave("test1.png",plot1,width = 4,height = 3 )

Cairo可以创建高质量的矢量图形(PDF, PostScript, SVG) 和 位图(PNG, JPEG, TIFF),同时支持在后台程序中高质量渲染!

无root,这到底装的什么?

down vote you need the cario dev files

apt-get install libcairo2-dev I also needed to install the following

apt-get install libxt-dev

装在basic envi ,结果完全不行啊,没反应。。。可能不是我想要的功能。

To install this package with conda run:
conda install -c trent cairo 
###当然也不知道这样是不是就算有libcairo2-dev和libxt-dev了

###R 
install.packages("Cairo")
library(Cairo)
Cairo.capabilities()