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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 什么是NoSQL,为什么要使用NoSQL?

    什么是NoSQL,为什么要使用NoSQL?1 为什么用 NoSQL 1 1 单机 MySQL 的美好时代在 90 年代 一个网站的访问量一般都不大 用单个数据库完全可以轻松应付 在那个时候 更多的都是静态网页 动态交互类型的网站不多 上述架构下 我们来看看数据存储的瓶颈是什么 DAL DataAccessLa 数据访问层 Hibernate MyBatis 数据量的总大小一个机器放不下时 数据

    2025年7月24日
    2
  • 状态机编程_vivado状态机

    状态机编程_vivado状态机给定一个长度为 N 的数组,数组中的第 i 个数字表示一个给定股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润,你最多可以完成 k 笔交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。一次买入卖出合为一笔交易。输入格式第一行包含整数 N 和 k,表示数组的长度以及你可以完成的最大交易数量。第二行包含 N 个不超过 10000 的正整数,表示完整的数组。输出格式输出一个整数,表示最大利润。数据范围1≤N≤105,1≤k≤100输入样例1:3 22

    2022年8月8日
    7
  • 五大创意礼品网站_实用礼品

    五大创意礼品网站_实用礼品朋友、父母过生,经常苦于不知道送啥好,送一般的显得没有新意,想送个有创意的吧,又不知道到哪选。为此,小编我特意调研了国内的创意礼品网站,给出前十位的网站,供大家参考。礼意久久送礼网:www.liyi99.com  成立于09年的礼意久久送礼网是目前国内领先的在线礼品销售网站,礼品门类齐全,有自己的呼叫中心,同时也接受过央视的采访。  优点:礼品种类齐全,同时全国免运费;…

    2025年8月5日
    3
  • 从零开始写一个发送h264的rtsp服务器(上)「建议收藏」

    从零开始写一个发送h264的rtsp服务器(上)

    2022年3月13日
    103
  • vue项目部署后刷新404_vue重载当前页面

    vue项目部署后刷新404_vue重载当前页面vue页面访问正常,但是一刷新就会404的问题解决办法:第一种解决方法:将vue路由模式mode:’history’修改为mode:’hash’//router.js文件constrouter=newRouter({//mode:’history’,mode:’hash’,routes:[{path:’/’,redirect:’/login’},{path:’/login’,compon

    2022年10月10日
    1
  • idea免费激活码2021(JetBrains全家桶)[通俗易懂]

    (idea免费激活码2021)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~MLZP…

    2022年3月20日
    53

发表回复

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

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