CentOS6.5下实现R绘图
1、首先安装R的绘图包Cairo
下载地址:http://www.rforge.net/Cairo/files/
[root@Hadoop-NN-01 mysofts]# R CMD INSTALL Cairo_1.5-9.tar.gz
2、检查
> library(Cairo) # 加载Cairo包
> Cairo.capabilities() # 检查Cairo包支持的图片格式 png jpeg tiff pdf svg ps x11 win raster
TRUE TRUE FALSE TRUE TRUE TRUE TRUE FALSE TRUE
兼容性的检查Cairo支持的图形输出格式:
支持:png、jpeg、pdf、svg、ps、x11(Linux桌面)、raster
不支持:tiff、win(windows桌面)
注:如果是Windows系统,则x11为FALSE, win为TRUE。
3、实例
> x<-rnorm(100) # 随机取100个点坐标
> y<-rnorm(100)
> png(file="pic_plot.png", width=640, height=480) # png函数
> plot(x, y, col="#ff0000", pch=19, cex=2, main="plot")
> dev.off()
结果如下图:

4、可能遇到的错误:
1)no png support in this version of R
你R软件不支持png格式的图片,用capabilities()函数打印一下,你的环境支持的图片格式。
错误原因:不详,一般重装就能解决问题。
2)unable to open connection to X11 display
错误原因:未安装安装X11绘图设备。
如何安装?
在本地(我本地是XP)安装一个叫Xmanager的软件。它的主要功能就是接受从服务器上传回的绘图指令,然后再在本地安装这个指令画图。
它实际上监听了一个端口,这个端口(11号端口?)就是跟绘图相关的。所以现在本地运行Xmanager后,再在SSH上R中绘图,就可以了!命令capabilities(),我们也可以看到X11变成TRUE。
下载地址:http://www.xp510.com/xiazai/Networking/mstsc/14456.html
使用方法:
A、打开软件

报错:

错误原因:X11 forwarding依赖“xorg-x11-xauth”软件包,所以必须先安装“xorg-x11-xauth”软件包。
[root@Hadoop-NN-01 ~]# yum install xorg-x11-xauth
报错:“No such file or directory”的错误。

错误原因:你的linux主机没有安装xterm,请安装:
[root@Hadoop-NN-01 ~]# yum install –y xterm
B、连接成功

C、连接shell
特别注意:一定要勾选x11通道之类的选项。每个shell客户端都不一样,但是都有这样的选项。
进入shell界面检查:
[root@Hadoop-NN-01 ~]# echo $DISPLAY
如果什么都没有输出,请设置一下:
[root@Hadoop-NN-01 ~]# export DISPLAY=localhost:10.0 #10.0为localhost的端口。
D、然后进入R
>capabilities()
可以看到x11已经变成TRUE了
然后再执行一遍3实例。
3)semi-transparency is not supported on this device
记得加载Cairo包:
>library(Cairo) #加载图形渲染库
Ubuntu系统报错原因:是由于机器时缺少某些X11相关的库,请更新r-base-dev以前安装它所需的所有库。
[root@Hadoop-NN-01 ~]# sudo apt-get build-dep r-base-dev #在线安装,适用于ubuntu系统
CentOS6.5下实现R绘图的更多相关文章
- CentOS6.5下编译R源码并安装Spark R
不多说,直接上干货! 为了使用SparkR,决定要在Spark所在的Linux上装上R,结果血泪篇了.主要原因是公司内部的虚机,无法连外网,所以网上很多的直接rpm或者yum的方法都没用,需要自己编译 ...
- linux命令行下使用R语言绘图
系统:centos 6.4 64bit 环境安装参考:http://hi.baidu.com/solohac/item/4a18e78f1bef9b5825ebd99c 在R语言中可以使用png()等 ...
- CentOS6.5下安装apache2.2和PHP 5.5.28
CentOS6.5下安装apache2.2 1. 准备程序 :httpd-2.2.27.tar.gz 下载地址:http://httpd.apache.org/download.cgi#apache2 ...
- centos6.7下编译安装lnmp
很多步骤不说明了,请参照本人的centos6.7下编译安装lamp,这次的架构是nginx+php-fpm一台服务器,mysql一台服务器 (1)首先编译安装nginx: 操作命令: yum -y g ...
- centos6.7下 编译安装MySQL5.7
centos6.7下编译安装MySQL5.7 准备工作 #-----依赖包及MySQL和boost安装包----- #yum包安装: shell> yum -y install gcc-c++ ...
- CentOS6.9下离线部署Django项目
最近项目服务器变动,研究了CentOS6.9下httpd2.4+django1.11.16+python3.6+PostgreSQL的部署,之前还有一个ubuntu16.04下的部署等以后整理好后再来 ...
- CentOS6.8下MySQL MHA架构搭建笔记
转载请注明出处,本文地址:http://www.cnblogs.com/ajiangg/p/6552855.html 以下是CentOS6.8下MySQL MHA架构搭建笔记 IP资源规划: 192. ...
- Centos6.9下RabbitMQ集群部署记录
之前简单介绍了CentOS下单机部署RabbltMQ环境的操作记录,下面详细说下RabbitMQ集群知识,RabbitMQ是用erlang开发的,集群非常方便,因为erlang天生就是一门分布式语言, ...
- CentOS6.4下邮件服务器搭建
CentOS6.4下邮件服务器搭建 linux下邮件服务器的搭建大致分为三个步骤 准备工作(真实的生产环境下需要) 发送服务器安装及配置 (Postfix) 接收服务器安装及配置(dovecot) ...
随机推荐
- Maven 项目打包需要注意到的那点事儿
1. 关于 Maven 打 war 包<使用 Eclipse 的 Maven 2 插件开发一个 JEE 项目>详细介绍了如何在 Eclipse 使用 Maven 新建一个 JEE 项目并对 ...
- {Python之进程} 背景知识 什么是进程 进程调度 并发与并行 同步\异步\阻塞\非阻塞 进程的创建与结束 multiprocess模块 进程池和mutiprocess.Poll
Python之进程 进程 本节目录 一 背景知识 二 什么是进程 三 进程调度 四 并发与并行 五 同步\异步\阻塞\非阻塞 六 进程的创建与结束 七 multiprocess模块 八 进程池和mut ...
- Java进阶面试题大集合-offer不再是问题
Java基础 1.List 和 Set 的区别 2.HashSet 是如何保证不重复的 3.HashMap 是线程安全的吗,为什么不是线程安全的(最好画图说明多线程环境下不安全)? 4.HashMap ...
- window.onresize监听事件
window.onresize监听事件 onresize 事件会在窗口或框架被调整大小时发生. 支持onresize的标签:<a>, <address>, <b>, ...
- Angular4 Ng 模块
原文地址 http://www.jianshu.com/p/317f0e4b7284 根模块 (root module) 每个应用都至少有一个根模块用来引导并运行应用.根模块通常命名为 AppModu ...
- field, or, more generally, in a ring or even a semiring 数域、环、半环
小结: 1.数域.环.半环 :一般化.泛化 https://en.wikipedia.org/wiki/Matrix_multiplication In mathematics, matrix mul ...
- Chap4:探究操作系统[The Linux Command Line]
1 learn some more commands: (1) ls-List directory contents (2) file -Determine file type (3) less-Vi ...
- [development] __attribute__((weak))是干嘛的
简单的说,就是当发生 “重复定义的时候”.被声明者会被冲突者覆盖掉. 这里还涉及了weak与alias连用的情况. 参见,里边有两个例子,很浅显易懂. https://my.oschina.net/s ...
- Log4j使用注意点
Porting log4j到指定项目的时候需要注意: 1. log4j选择字符集的时候通过CMake来更改配置,防止出错; 2.
- 用2个DATETIMEPICKER分别输入时间和日期,再合并成一个DATETIME类型
DtpDate为日期的,DtpTime为时间的 StrToDateTime(FormatDateTime('yyyy-MM-dd', DtpDate.Date) + ' ' + TimeToStr(D ...