linux下r语言画图,linux命令行下使用R语言绘图实例讲解

使用系统: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

到此这篇关于linux命令行下使用R语言绘图实例讲解的文章就介绍到这了,更多相关linux命令行下使用R语言绘图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:R语言绘制空间热力图实例讲解

R语言实现对数据框按某一列分组求组内平均值

R语言写2048游戏实例讲解

R语言归一化处理实例讲解

R语言的xtabs函数实例讲解

R语言基本语法深入讲解

R语言 用均值替换、回归插补及多重插补进行插补的操作

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/458919.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows Mobile Gprs连接与数据传输

此模块分两部分完成,传输数据用socket ,要使用socket在ppc上进行数据传输,就要谁让ppc自动连接gprs 。其中套接字和gprs链接分别进行说明。 一 ,应用程序在进行其它所需的Windows Sockets API调用需要进行一次成功的WSAStartup()调…

C语言变量的类型和存储位置

*************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com *************************************************** 1. C语言变量主要分为全局变量、静态全局变量、局部变量、静态局部变量和寄存器变量。…

nginx+tomcat负载均衡

最近练习nginxtomcat负载均衡。根据一些资料整理了大体思路,最终实现了1个nginx2个tomcat负载均衡。 安装JDK 1》进入安装目录,给所有用户添加可执行的权限 #chmod x jdk-7u67-linux-i586.rpm //不知这步有没有必要 2》安装JDK 输入命令#rpm –ivh jdk-7…

linux 最强shell,最牛B 的 Linux Shell 命令(一)

引言Shell作为Unix系操作系统当中最有魅力且不可或缺的组件,经过数十载的洗礼不仅没有被淘汰,而且愈加变得成熟稳健,究其原因,大概因为它是个非常稳固的粘合剂,能够把大量功能强大的组件任意配搭,总能很好很…

更改Docker默认的images存储位置

Docker的镜像以及一些数据都是在/var/lib/docker目录下,它占用的是Linux的系统分区,也就是下面的/dev/vda1,当有多个镜像时,/dev/vda1的空间可能不足,我们可以把docker的数据挂载到数据盘,例如:/dev/vdb目录…

malloc/free和new/delete的区别

*************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com *************************************************** malloc与free是C/C语言的标准库函数,new/delete是C的运算符。它们都可用于…

HDU 1217 Arbitrage (Floyd + SPFA判环)

题目链接:HDU 1217 Arbitrage 简单的货币转换问题,给定多种货币,以及货币之间的汇率,问能否通过货币的转换实现收益。 例如: 1 US Dollar buys 0.5 British pound, 1 British pound buys 10.0 French francs, and 1 F…

linux libbz2.so.1,libbz2.so.1.0 = not found 试过了链接和设置环境变量

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼LD_LIBRARY_PATH. ldd steamui.solinux-gate.so.1 > (0xf7700000)libtier0_s.so > ./libtier0_s.so (0xf648e000)libv8.so > ./libv8.so (0xf5ba3000)libvideo.so > ./libvideo.so (0xf57e2000)libvstdlib_s.so > .…

对互联网中常见地图的坐标系探讨

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/。 1.背景 目前项目中使用百度地图、高德地图、谷歌中国地图、天地图的需求越来越多,这里我跟大家一起对各地图使用的坐标系做一个简单的探讨。…

unsigned int + int型结果分析

*************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com *************************************************** 代码如下: “//”后为调试中的结果 unsigned int a 6; //a 6 …

MAC OSX在视图port哪个程序占用,杀死进程的方法

sudo lsof -i :9000COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEjava 61342 a 313u IPv6 0x1111111111111 0t0 TCP *:cslistener (LISTEN)在此基础PID杀死进程:sudo kill -9 61342 版权声明:本文博主原创文章&am…

讯飞输入法有没有Linux,Debian testing 安装讯飞输入法 - Linux系统与应用 - LinuxApp - 水木社区...

突然发现Deepin发行版带有讯飞输入法,于是折腾了一会,安装好了这个输入法,现把安装过程分享如下:软件包的依赖:Package: iflyimeVersion: 0.9.962Section: develPriority: optionalArchitecture: amd64Depends: libboo…

几种C#程序读取MAC地址的方法

原文:几种C#程序读取MAC地址的方法以下是收集的几种C#程序读取MAC地址的方法&#xff0c;示例中是读取所有网卡的MAC地址&#xff0c;如果仅需要读取其中一个&#xff0c;稍作修改即可。 1 通过IPConfig命令读取MAC地址 ///<summary>///根据截取ipconfig /all命令的输出流…

写出float x 与“零值”比较的if语句——一道面试题分析

*************************************************** 更多精彩&#xff0c;欢迎进入&#xff1a;http://shop115376623.taobao.com *************************************************** 写出float x 与“零值”比较的if语句 请写出 float x 与“零值”比较的 if 语句&…

Conditional project or library reference in Visual Studio

Conditional project or library reference in Visual Studio In case you were wondering why you haven’t heard from me in a while, I’ve been busy, which isn’t really of much importance unless you know me on a personal level. What is relevant is that I recen…

linux 双mipi摄像头,VS-RK3399 在linux系统下面调试Mipi camera接口介绍

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼debian系统目前支持Usb camera是没有问题&#xff0c;走UVC功能接口。那么mipi 接口camera和并口接口的camera&#xff0c;在Debian系统怎么设置呢&#xff0c;其实原理一样&#xff0c;也走uvc接口封装函数.下面深圳视壮给大家简单…

HTTP必知必会

2019独角兽企业重金招聘Python工程师标准>>> HTTP消息HTTP请求消息HTTP响应消息消息首行请求行响应行消息头部请求头请求头消息正文请求正文响应正文Web服务器把接收到的HTTP请求消息封装成request对象&#xff0c;作为service的参数传入service函数&#xff0c;ser…

float数据在计算机内存中的存储方法

*************************************************** 更多精彩&#xff0c;欢迎进入&#xff1a;http://shop115376623.taobao.com *************************************************** 浮点型变量在计算机内存中占用4字节&#xff08;Byte&#xff09;,即32-bit。遵循IEEE…

Geometric Shapes - POJ 3449(多边形相交)

题目大意&#xff1a;给一些几何图形的编号&#xff0c;求出来这些图形都和那些相交。分析&#xff1a;输入的正方形对角线上的两个点&#xff0c;所以需要求出来另外两个点&#xff0c;公式是&#xff1a;x2:(x1x3y3-y1)/2; y2:(y1y3x1-x3)/2;x4:(x1x3-y3y1)/2; y4:(y1y3-x1x3…

更新10_linux,时隔十年,QQ更新了Linux版本

昨天1024程序员节&#xff0c;QQ悄悄地更新了QQ for Linux&#xff0c;也许是给各位一个惊喜吧。官网及其的简陋。和一个Word文档似的。十年一更&#xff0c;有网友称&#xff0c;瞬间回到QQ2006&#xff0c;确实界面功能有些落后&#xff0c;相信QQ可以跟上潮流的&#xff0c;…