R 中将图表导出成文件
要特别强调的一点是,必须要使用 dev.off() 命令来告诉 R 我们已经完成绘图,否则我们的要保存的图像就不会出现
1、导出 PDF 文件
PDF 是一个矢量文件格式。矢量文件在作为输出时是比较受欢迎的,因为它可以被任意地缩放而不会失真(像素化),一个向量文件的大小通常比相应的位图文件小,除非它包含了太多的对象(比如一幅散点图中有成千上万的样本点,那么它的矢量图就会很大,位图则相对较小)。
pdf("plots.pdf")
plot(...)
plot(...)
dev.off()
默认情况下,导出的 PDF 文件为 7x7 英寸大,每一幅图都被放在一个新页中。我们可以通过如下方式来改变大小:
# 6x3 英寸
pdf("plots.pdf", width=6, height=3)# 10x6 厘米
pdf("plots.pdf", width=10/2.54, height=6/2.54)
如果我们想直接用一些矢量图绘制工具例如 Inkscape 或 Illustrator 来处理这些矢量文件,那么有可能会出现数据点呈字符形式而非原本的圆形或方形等,如下方法可以避免这一问题:
pdf("plots.pdf", useDingbats=FALSE)
2、导出 SVG 文件
SVG 是另一种矢量格式。 svg()函数的默认设置并不允许将多页图像输出为单一文件,这是因为大多数 SVG 浏览器都不支持多页的 SVG 文件。如果你想输出多页的 SVG,详情可见本节的 PNG 部分。
svg("plots.svg")
plot(...)
dev.off()
相比于 PDF 文件,SVG 文件更易于矢量处理。
3、导出 PNG/TIFF 文件
PNG 和 TIFF 是位图(或称光栅图像)的格式。在将它们放大后,我们能够清楚的分辨出其中的像素点。
png("plot.png")
# or tiff("plot.tiff")
plot(...)
dev.off()
在默认的情况下,这类图像的输出大小为 480x480 素,分辨率为 72 dpi(6.66x6.66 英寸).
增加分辨率将会放大文本与图像元素的大小,只是因为画布元素的大小只与图像的物理大小有关,而与图像的像素大小无关。例如一个 12 像素点的字符原本高度为 12/72 = 1/6 英寸,在分辨率为 72dpi 的条件下,它共包含 12 个像素点,而当分辨率放大为 120dpi 时,它就含有 20 个像素点了。
下列操作将会创建一个大小为 480x240 像素的图像,其分辨率为 120dpi,实际大小相当于 4x2 英寸。
png("plot.png", width=480, height=240, res=120)
plot(...)
dev.off()
如果我们想要输出多幅图像,那么我们就必须要执行一个新的png()命令,或是将%d置于文件名中:
png("plot-%d.png")
plot(...)
dev.off()
上述操作将会生成 plot-1.png, plot2.png 等一系列文件。
以上内容转自 数析学院,原文后续还有涉及到如何导出文件至不支持 PDF 的程序(MS Office)、ggplot、由屏幕保存图像等内容,有需要的同学可以直接查看原文
R 中将图表导出成文件相关推荐
- Origin图表导出png文件和pdf文件的方法
小编在这里以Origin 2017为例,当我们生成需要的图表之后,如果要插入word文档就必须将这个图表转成照片,下面小编分享的是转成png照片格式和pdf文档的方法: 1.完成图表的生成后,点击&q ...
- Altium Designer中将FPGA引脚定义导出成文件
想把画完的板子导出FPGA的引脚定义,自己想了想没什么好办法就百度了,还好网上有同行的分享.效果很好,自己补充些使用心得,算是给自己备忘. 原文看的是雨竹博主的分享,原文链接:http://blog. ...
- iOS 中将数据导出成Excel文件 ---- libxlsxwriter框架
1.使用cocoapods导入libxlsxwriter pod libxlsxwriter在桥接文件中导入头文件 #import <xlsxwriter.h> 2.创建文件路径 let ...
- java导出csv文件_R语言数据导入与导出
R语言数据导入与导出 整这么一个系列,还是因为学R语言时遇到过一个非常"小白友好"的网站"DataScience Made Simple".相信很多人搜到过这个 ...
- java中将查询数据导出_如何在R中将数据框导出到Excel
java中将查询数据导出 What if I tell, that you can export data frames to excel in R within a couple of minute ...
- office表格中图表导出pdf
很少用office表格来作图,临时做了一个图,想要保存为pdf,发现右键不能直接另存为图片. 原来有个功能叫:移动图表 移动图标之后可以选择新工作表 然后就可以适用整个office自带的文件下的另存为 ...
- 使用MYSQL命令直接导入导出SQL文件
1.MYSQL中将数据库导出成SQL文件 其实很简单的,就是一条语句就可以了,首先我们打开cmd,不用进mysql指令界面,直接按照下列格式将导出语句敲进去,然后再输入密码即可了: mysqldump ...
- 在SqlServer 2008中将数据导成脚本
当我们想将数据库搬到另一个环境中运行时,如果数据库的版本一样我们可以直接选择附加的方式,而如果实验环境中的数据库版本比当前数据库低,就无法附加了.这时要向将数据全部导过去就需要使用脚本的方式,像Sql ...
- mac r 导出csv文件_R在Max OS进行导入和导出xlsx文件
R作为一门为统计设计的语言,可以方便灵活的进行文件导入和导出,大多数数据格式包括,csv, xlsx, txt,还有来自其他统计工具的SAS, SPSS, Stata, 数据文件都可以方便的导入和导出 ...
最新文章
- 机器学习之神经网络模型-上(Neural Networks: Representation)
- php简单网站源码包含数组_PHP 数组
- Python程序开发——第九章 异常处理
- 你不知道的JavaScript(二)
- VC中设置头文件的搜索路径~~
- python如何引发和处理异常_在python3.6中,如何捕捉异常并引发异常以便稍后处理?...
- spark应用程序转换_Spark—RDD编程常用转换算子代码实例
- com 组件调用不起来_Spring Cloud Alibaba训练营 —— 分布式服务调用
- C++ new和malloc区别
- 杜月笙的六句忠告,学会了不吃亏
- 计算机函数left的用法,excel中的left函数怎么使用呢?
- ActiveRecord 复合主键时 实体转换为DataRow
- 《Java并发编程实战》 第二章:线程安全性
- 老上网本不能上无线网
- 记录自己Kettle下载全过程
- java日志文件采集,日志收集十大技术细节
- astah新建一个项目_Astah Professional
- 基于vue的h5抽奖活动九宫格转盘及圆形转盘
- 方波的产生——555 产生方波
- excel怎么一个格子斜分_excel如何在单元格里加上斜线分割内容