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绘图的更多相关文章

  1. CentOS6.5下编译R源码并安装Spark R

    不多说,直接上干货! 为了使用SparkR,决定要在Spark所在的Linux上装上R,结果血泪篇了.主要原因是公司内部的虚机,无法连外网,所以网上很多的直接rpm或者yum的方法都没用,需要自己编译 ...

  2. linux命令行下使用R语言绘图

    系统:centos 6.4 64bit 环境安装参考:http://hi.baidu.com/solohac/item/4a18e78f1bef9b5825ebd99c 在R语言中可以使用png()等 ...

  3. 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 ...

  4. centos6.7下编译安装lnmp

    很多步骤不说明了,请参照本人的centos6.7下编译安装lamp,这次的架构是nginx+php-fpm一台服务器,mysql一台服务器 (1)首先编译安装nginx: 操作命令: yum -y g ...

  5. centos6.7下 编译安装MySQL5.7

    centos6.7下编译安装MySQL5.7 准备工作 #-----依赖包及MySQL和boost安装包----- #yum包安装: shell> yum -y install gcc-c++ ...

  6. CentOS6.9下离线部署Django项目

    最近项目服务器变动,研究了CentOS6.9下httpd2.4+django1.11.16+python3.6+PostgreSQL的部署,之前还有一个ubuntu16.04下的部署等以后整理好后再来 ...

  7. CentOS6.8下MySQL MHA架构搭建笔记

    转载请注明出处,本文地址:http://www.cnblogs.com/ajiangg/p/6552855.html 以下是CentOS6.8下MySQL MHA架构搭建笔记 IP资源规划: 192. ...

  8. Centos6.9下RabbitMQ集群部署记录

    之前简单介绍了CentOS下单机部署RabbltMQ环境的操作记录,下面详细说下RabbitMQ集群知识,RabbitMQ是用erlang开发的,集群非常方便,因为erlang天生就是一门分布式语言, ...

  9. CentOS6.4下邮件服务器搭建

    CentOS6.4下邮件服务器搭建   linux下邮件服务器的搭建大致分为三个步骤 准备工作(真实的生产环境下需要) 发送服务器安装及配置 (Postfix) 接收服务器安装及配置(dovecot) ...

随机推荐

  1. EF中的预先加载和延迟加载

    延迟加载(Lazy Loading):当实体第一次被读取时,相关数据不会被获取,只会读取本身.延迟加载的数据不会一次性查出来,而是一条一条的查询,这样就会多次请求数据库进行查询. 预先加载<Ea ...

  2. python-and和 or用法

    python中的逻辑运算 and和or执行逻辑运算,但是它们不会返回bool值,而是返回它们进行比较的值之一 and >>> 1 and 2 取2 >>>1 and ...

  3. 线段树 || BZOJ 1112: [POI2008]砖块Klo

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1112 题解: 希望有连续K柱的高度是一样的,就先把1~K的数扔进线段树(线段树的下标就是数值 ...

  4. Entity Framework Core的坑:Skip/Take放在Select之前造成Include的实体全表查询

    今天将一个迁移至 ASP.NET Core 的项目放到一台 Linux 服务器上试运行.站点启动后,浏览器打开一个页面一直处于等待状态.接着奇怪的事情发生了,整个 Linux 服务器响应缓慢,ssh命 ...

  5. ecshop安装后打开管理页面时报500错误

    昨天给朋友安装ecshop,遇到如下问题: 1.PHP不支持mysql扩展 打开http://localhost/install/index.php,第二步时候,报不支持mysql. ecshop是前 ...

  6. [No0000F9]C# 运算符重载

    您可以重定义或重载 C# 中内置的运算符.因此,程序员也可以使用用户自定义类型的运算符.重载运算符是具有特殊名称的函数,是通过关键字 operator 后跟运算符的符号来定义的.与其他函数一样,重载运 ...

  7. win server 2008添加磁盘-脱机转换为联机状态方法

    解决方案如下: 1.运行:cmd2.输入:DISKPART3.DISKPART> san4.DISKPART> san policy=onlineall5.DISKPART>list ...

  8. 生成树协议(STP)

    首先了解一下环路问题: 两个交换机将两个局域网同时连接起来的时候,不幸地出现了环路: 这两个交换机还是都能够收到广播包的.交换机 A 一开始是不知道机器 2 在哪个局域网的,所以它会把广播消息放到局域 ...

  9. express 写一个简单的web app

    之前写过一个简单的web app, 能够完成注册登录,展示列表,CURD 但是版本好像旧了,今天想写一个简单的API 供移动端调用 1.下载最新的node https://nodejs.org/zh- ...

  10. Xcode编辑器之基本使用(一)

    前言. 苹果原生xcode使用介绍文档 1.Xcode IDE概览 说明: 从左到右,依次是“导航窗格(Navigator)->边列(Gutter)->焦点列(Ribbon)->代码 ...