R语言怎么绘图(一个r语言完整的命令有什么)

使用系统:centos6.464bit在R语言中可以使用png()等函数生成图片,例如:png(“aa.png”)可以生成图片。但是如果你是通过shell远程连接到系统上,可能会碰到如下错误:>png(“aa.png”)错误于.External2(C_X11,paste(“png::”,filename,sep=””),g$width,:无法打开PNG设备此外:警告…

大家好,又见面了,我是你们的朋友全栈君。

使用系统: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语言 用均值替换、回归插补及多重插补进行插补的操作

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/129476.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 图文详解j2ee开发环境搭建全过程教程_数据库环境搭建

    图文详解j2ee开发环境搭建全过程教程_数据库环境搭建在J2EE项目实施过程中需要搭建一个完整的开发环境,涉及到的技能和工具包含:JDK、Eclipse、Tomcat、MySQL、Maven、Navicat等等。这些环境对于具备工作经验的开发人员而言想必早已是轻车熟路,但是对于刚入门的新手来说还是颇为棘手。故,在此以文档形式详细记录J2EE开发环境搭建的整个过程。

    2025年8月19日
    4
  • 【转载】细聊冗余表数据一致性(架构师之路)

    【转载】细聊冗余表数据一致性(架构师之路)

    2021年11月20日
    40
  • 匈牙利命名法

    匈牙利命名法

    2021年12月13日
    52
  • Java实现Date日期加一天[通俗易懂]

    Java实现Date日期加一天[通俗易懂]因为在项目中遇到了需要将日期进行加减一些天数的操作,但是自己加需要考虑到跨月的情况,所以便找了Java提供的相关的API,方法如下date=newdate();//取时间Calendarcalendar=newGregorianCalendar();calendar.setTime(date);calendar.add(calendar.DATE,1);//把日期往……

    2022年7月26日
    48
  • 两个向量内积的几何意义_向量外积的几何意义

    两个向量内积的几何意义_向量外积的几何意义https://www.zhihu.com/question/48308610/answer/996133623不过的确,我们要这个东西有什么意义呢?为什么平白无故引入这个概念呢?数学家很多时候引入一个新概念,都是为了方便更其他计算,或解释物理现象。解释物理现象:力的做功,当力的向量和移动距离向量有夹角时,力的功就是力向量与距离向量的点积。方便复杂计算:例如,向量的点积为零,意味着垂直,这在证明垂直问题上有很大作用。…

    2025年11月21日
    4
  • 守护线程和非守护线程_java守护线程的作用

    守护线程和非守护线程_java守护线程的作用Java中有两类线程:UserThread(用户线程)、DaemonThread(守护线程)用户线程即运行在前台的线程,而守护线程是运行在后台的线程。守护线程作用是为其他前台线程的运行提供便利服务,而且仅在普通、非守护线程仍然运行时才需要,比如垃圾回收线程就是一个守护线程。当VM检测仅剩一个守护线程,而用户线程都已经退出运行时,VM就会退出,因为没有如果没有了被守护这,也就没有继续运行程…

    2022年10月15日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号