使用系统:centos 6.4 64bit

在R语言中可以使用png()等函数生成图片,例如: png("aa.png")可以生成图片。

但是如果你是通过shell远程连接到系统上,可能会碰到如下错误:

> png("aa.png") 错误于.External2(C_X11, paste("png::", filename, sep = ""), g$width,  :    无法打开PNG设备 此外: 警告信息:

In png("aa.png") : 无法打开链结到X11显示''

分析:

打开R控制台,输入capabilities(),可以看到:

> capabilities()

jpeg png tiff tcltk X11 aqua http/ftp sockets

FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE

libxml fifo cledit iconv NLS profmem cairo

TRUE TRUE TRUE TRUE TRUE FALSE FALSE

可以看到png为false,因为生成图片需要X11,但是shell是没有X11的。

怎么解决:

1.在X11模式下执行R语言命令,也就是在linux的桌面。如果你只是在桌面上画画图,那选择这个方式就可以了。

2.不使用X11生成,使用 图形渲染库Cairo。比如我,需要用脚本,根据实时数据生成统计图,那么用这个方式就很方便。

安装:

启动R控制台

安装

install.packages("Cairo")

会让你选择安装镜像

--- 在此連線階段时请选用CRAN的鏡子 ---

CRAN mirror

1: 0-Cloud 2: Argentina (La Plata)

3: Argentina (Mendoza) 4: Australia (Canberra)

5: Australia (Melbourne) 6: Austria

7: Belgium 8: Brazil (BA)

9: Brazil (PR) 10: Brazil (RJ)

11: Brazil (SP 1) 12: Brazil (SP 2)

13: Canada (BC) 14: Canada (NS)

15: Canada (ON) 16: Canada (QC 1)

17: Canada (QC 2) 18: Chile

19: China (Beijing 1) 20: China (Beijing 2)

选一个北京的好了:20

安装出错

configure: error: Cannot find cairo.h! Please install cairo (http://www.cairographics.org/) and/or set CAIRO_CFLAGS/LIBS correspondingly.

所以我们需要先在系统中安装cairo库

yum -y install cairo* libxt*

安装完成之后,重新执行:install.packages("Cairo")

installing to /usr/local/lib64/R/library/Cairo/libs

** R

** preparing package for lazy loading

** help

*** installing help indices

** building package indices

** testing if installed package can be loaded

* DONE (Cairo)

下载的程序包在

‘/tmp/RtmpNlGyf3/downloaded_packages'里

更新'.Library'里的HTML程序包列表

Making 'packages.html' ... 做完了。

安装成功。

加载Cairo后,查看支持:

> library(Cairo)

> Cairo.capabilities()

png jpeg tiff pdf svg ps x11 win raster

TRUE FALSE FALSE TRUE TRUE TRUE TRUE FALSE TRUE

说明已经支持用cairo生成图片了。

例如可以使用如下命令生成PNG:

CairoPNG(file="out.png",width=800,height=480)

附上一个测试小程序,主要为了说明用法:

#vim test.r

library(Cairo)

CairoPNG(file="out.png",width=800,height=480)

plot(5,4)

保存后执行:

[root@localhost ~]# Rscript test.r

R version 3.1.0 (2014-04-10) -- "Spring Dance"

Copyright (C) 2014 The R Foundation for Statistical Computing

Platform: x86_64-unknown-linux-gnu (64-bit)

> library(Cairo)

> CairoPNG(file="out.png",width=800,height=480)

> plot(5,4)

>

在当前目录下可以看到生成了图片

[root@localhost ~]# ll

总用量 84

-rw-r--r--. 1 root root 6832 5月 13 10:33 out.png

-rw-r--r--. 1 root root 71 5月 13 10:32 test.r

R语言命令行写linux,linux命令行下使用R语言绘图实例讲解相关推荐

  1. linux禁止切换到root,linux禁止普通用户切换至root用户的实例讲解

    在上正文之前,我想先将一些基础的linux用户以及用户组的相关命令: 1.添加用户 useradd [-g group] [-d user_home_directory] [-p "your ...

  2. linux praat 脚本,Praat脚本编程中文教程:实例讲解提取十点基频脚本

    如果本系列教程你是从头开始看的话,那么到这里相信很多人已经有了相应的基础了,但可能还有很多人看着前面的教程都是分开单个功能点进行讲解的,理解每一行代码应该没问题,但是要是真的给你一个需求,让你根据需求 ...

  3. python识别手写文字_Python3实现简单可学习的手写体识别(实例讲解)

    1.前言 版本:Python3.6.1 + PyQt5 + SQL Server 2012 以前一直觉得,机器学习.手写体识别这种程序都是很高大上很难的,直到偶然看到了这个视频,听了老师讲的思路后,瞬 ...

  4. gen文件下有两个R.java_gen目录无法更新,或者gen目录下的R.JAVA文件无法生成

    gen目录无法更新,或者gen目录下的R.JAVA文件无法生成 1.gen目录的用处 android gen目录下的R.java并不是由用户创建,而是android工程本身将android的资源进行自 ...

  5. Linux OR CentOS环境下安装go语言开发工具

    go语言版本下载网站:Go下载 - Go语言中文网 - Golang中文社区 1.下载完相应的版本就通过lrzsz工具进行上传到相应目录:/data 2.cd进入你用来存放安装包的目录cd /data ...

  6. c语言timer linux 回调函数_Linux下用C语言实现定时器

    2020-02-22 关键字:alarm().setitimer().拦截定时器信号.定时器信号有效范围 在 Linux 中实现定时器功能的比较简单且好用的系统内置的方法有两种: 1.alarm() ...

  7. c语言将程序写为动态库,VS下生成C程序静态库(LIB)及动态库(DLL)的方法

    一.前言 工作中有时候因为分工合作的原因需要让别人调用自己写的代码去完成某项功能,但是又不想让别人看到具体的实现过程,只是提供一个API形式的接口供别人调用:又或者是其他的一些原因,有必要学习静态库及 ...

  8. c语言用数组写密码程序,想程序高手求助--用C语言来编辑一个输入密码的程序...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /*--------实现密码的隐式输入-----------------*/ inputpw(char *password,int len) /*len为 ...

  9. Day07 红帽Linux —从命令行管理文件

    红帽Linux - 从命令行管理文件 文章目录 红帽Linux - 从命令行管理文件 一.目录文件夹内容及作用 练习题目 答案 二.路径定位和目录信息 路径定位 路径 切换目录 查看目录内容 ls指令 ...

最新文章

  1. EasyUI中Tabs标签页的简单使用
  2. Linux上压缩目录以及目录下的所有文件
  3. HDU多校4 - 6813 Last Problem(构造)
  4. 2字节取值范围_5G NR 下行同步SSB(2)—PSS和SSS的用途
  5. WCF 第四章 绑定 netMsmqBinding
  6. hive java导入CVS
  7. The Application of Stack in Expression Calculation
  8. std::setw的坑
  9. 非语言沟通:超越字词之外的信息(非语言沟通的诸多作用和具体种类)
  10. 解读应聘阿里的注意事项
  11. 解决虚拟机IP地址无法获取和网络无法连接
  12. iOS APP下载安装时,如果出现此时无法下载安装APP的字样时,一些解决思路
  13. SVN报错Cleanup问题解决:Cleanup failed to process the following paths:Can‘t revert
  14. 特殊符号,emoji表情,四字节去除问题
  15. Android手机目前常见的分辨率
  16. 微信小程序分享功能的实现方法有两种
  17. c#获取项目路径的方法
  18. 安卓自定义音量键_iPhone 为啥要一直保留“静音键”?
  19. 换个格式输出整数 蓝桥杯 C语言
  20. 数字IC手撕代码-同步FIFO

热门文章

  1. Nat. Biotechnol.扩增子测序革命—用16S及18S rRNA全长进行微生物多样性研究
  2. python使用matplotlib可视化堆积的折线图、使用stackplot函数可视化堆积的折线图、不同数据在垂直方向堆叠
  3. R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(boxplot)实战
  4. R语言按组聚合求和实战(sum a variable by group):使用aggregate函数按组聚合求和、使用tapply函数按组聚合求和、按组聚合求和(使用dplyr包)
  5. 机器学习中的数据泄露是什么?构建模型中如何防止数据泄露?正确的方案是什么?如何使用pipeline防止数据泄露?
  6. UserWarning: Label not :NUMBER: is present in all training examples
  7. python根据二叉树的前序遍历和中序遍结果历重建二叉树
  8. Pacbio三代基因组组装简介
  9. cpc卡内计费信息异常包括_抖音信息流落地页直达广告怎么做?
  10. python 替换字符串中的元素