2017中考优秀作文赏析,套路满满,语文偏科的童鞋有救了!癌症专家推荐:揭秘抗癌果蔬排行18强【14】癌症专家推荐:揭秘抗癌果蔬排行18强【2】

R语言可以这么玩 |高质量图片这样导出!

当时年少青衫薄
九成癌症原本可被治愈 注意这几件事
【关于癌症,你该知道的那些事】

众所周知,可视化是统计中不可缺少的一部分,也是很直观的传递信息的一种方式,并且SCI文章投稿最重要的也是对于图片的处理。

一般杂志对图片要求:图片最低分辨率300DPI,部分杂志要求不低于600DPI,点线图及柱状图部分杂志要求达800DPI甚至1200DPI。杂志要求的分辨率是指原始图片的分辨率,经过Photoshop处理后修改图片的分辨率以达到杂志的要求通常是不可取的。

所以,小蟹家的统计师小朱在这里给大家分享下R语言做出的图片怎么导出。有什么不足的地方,望大家多多提出建议。

图形的两种格式

图形一般有二种格式:矢量图和位图。在这里,先给大家讲解下矢量图和位图的特点,然后分享下用R做出的图形,怎么导出这二种不同的图片格式。

1、矢量图

矢量图使用直线和曲线来描述图形,这些图形的元素是一些点、线、矩形、多边形、圆和弧线等等,它们都是通过数学公式计算获得的,无论对图形进行放大、缩小或旋转,都不会使图形失真和降低品质,也不会对文件大小有影响。矢量图以几何图形居多,图形可以无限放大,不变色、不模糊。常用于图案、标志、VI、文字等设计。常用软件有:CorelDraw、Illustrator、Freehand、XARA、CAD等。

2、位图

位图图像(bitmap), 亦称为点阵图像或绘制图像,是由称作像素(图片元素)的单个点组成的。这些点可以进行不同的排列和染色以构成图样。当放大位图时,可以看见赖以构成整个图像的无数单个方块。扩大位图尺寸的效果是增大单个像素,从而使线条和形状显得参差不齐。然而,如果从稍远的位置观看它,位图图像的颜色和形状又显得是连续的

RGB是位图颜色的一种编码方法,用红、绿、蓝三原色的光学强度来表示一种颜色。这是最常见的位图编码方法,可以直接用于屏幕显示。

CMYK是位图颜色的一种编码方法,用青、品红、黄、黑四种颜料含量来表示一种颜色。常用的位图编码方法之一,可以直接用于彩色印刷。

常用的位图处理软件是Photoshop。

3、矢量图与位图的区别

①分辨率

分辨率是一个笼统的术语,它指一个图像文件中包含的细节和信息的大小,以及输入、输出、或显示设备能够产生的细节程度。操作位图时,分辨率既会影响最后输出的质量也会影响文件的大小。处理位图需要三思而后行,因为给图像选择的分辨率通常在整个过程中都伴随着文件。无论是在一个300dpi的打印机还是在一个2570dpi的照排设备上印刷位图文件,文件总是以创建图像时所设的分辨率大小印刷,除非打印机的分辨率低于图像的分辨率。如果希望最终输出看起来和屏幕上显示的一样,那么在开始工作前,就需要了解图像的分辨率和不同设备分辨率之间的关系。显然矢量图就不必考虑这么多,矢量图图像的分辨率不依赖于输出设备。

②组成

位图的组成是像素;而矢量图的组成是数学向量。

③图形质量

位图的缩放和旋转容易失真,同时文件容量较大;而矢量图文件容量较小,在进行放大、缩小或旋转等操作时图象不会失真。

④绘制图形复杂度

位图只要有足够多的不同色彩的像素,就可以制作出色彩丰富的图象,逼真地表现自然界的景象;而矢量图不易制作色彩变化太多的图象。

⑤常用格式

位图一般是png, jpeg,tiff, tif,bmp,jpg的文件格式;而矢量图一般是:eps,ps,pdf,wmf, emf,svg.

R的实际操作步骤

上面说了那么多理论,现在我们开始用实际操作一下,练练手喽。

这里,我所选择的是用ggplot2包做出的一个散点图,用到的数据集是R中内置的数据集(diamonds).

首先加载ggplot2包:library(ggplot2)

1、导出不同格式的位图:

1)用saveplot()函数去做(注意在R中的使用,非Rstudio)

导出:png, jpeg,tiff, tif,bmp,jpg格式文件的图片,代码中只需更改参数type对应的值即可。

代码如下:

dsamp <- diamonds[sample(nrow(diamonds), 1000), ]

qplot(carat, price, data=dsamp, colour=clarity)

savePlot(filename = "Rplot",

type ="png",

device = dev.cur(),

restoreConsole = TRUE)

图片打开方式,很简单,这里不再叙述。

2)使用交互窗口中的export按钮(rstudio)

操作如下:

通过以上可以选择不同文件类型的位图。

3)使用文件类型所对应的函数:

代码如下(这里只给出png文件类型的代码,其他文件类型依次类推):

#打开设备并设置相关参数

png(file="plot_diamonds.png",width=120,height=80)

#绘图

dsamp <- diamonds[sample(nrow(diamonds), 1000), ]

qplot(carat, price, data=dsamp, colour=clarity)

#关闭设备

dev.off()

这样就可以在R的工作目录下,找到生成的图片plot_diamonds.png。

2、导出不同格式的矢量图

1)用saveplot()函数去做(注意在R中的使用,非Rstudio)

①导出:pdf格式文件的图片:

代码如下:

dsamp <- diamonds[sample(nrow(diamonds), 1000), ]

qplot(carat, price, data=dsamp, colour=clarity)

savePlot(filename = "Rplot",

type ="pdf",

device = dev.cur(),

restoreConsole = TRUE)

打开图片如下:

②导出wmf、emf

代码中只需将savePlot函数中的参数type的值改为wmf、或者emf即可:

打开图片的时候需要安装:ImageMagick这个工具

打开图片如下:

③导出eps、ps文件:

代码中只需将savePlot函数中的参数type的值改为eps、或者ps即可:

打开图片的时候需要安装:GSview和GhostScript这个工具,分别安装完成之后。

首先查看 gs安装目录bin目录下的gsdll64.dll的路径,在GSview “Options”--"Advanced Configure"窗口下更改相应的路径。

Ghostscript DLL:更改gsdll64.dll的路径。

Ghostscript Include Path: 更改bin、lib的目录。

一般情况下按照上述步骤操作之后,就可以正常打开ps图件了。

路径更改前如下:

路径更改后如下:

打开图片如下:

2)使用交互窗口中的export按钮(rstudio)

生成图片以后,点击copy to clipboard,调整合适的大小,然后选择copy as的类型(bitmap,metafile),确认后,然后就可以将图片粘贴到你想要他到的地方了,得到的是矢量图。

操作如下:

若需要导出pdf格式的图片,操作如下:

也可以用export按钮下的saveimage:

操作如下:

这里给出svg格式文件的图片如下:

3)使用文件类型所对应的函数:

代码如下(这里只给出svg文件类型的代码,其他文件类型以此类推):

#打开设备并设置相关参数

svg(file="plot_diamonds.svg",width=12,height=8)

#绘图

dsamp <- diamonds[sample(nrow(diamonds), 1000), ]

qplot(carat, price, data=dsamp, colour=clarity)

#关闭设备

dev.off()

这样就可以在R的工作目录下,找到生成的图片plot_diamonds.svg。

总结

以上就是本文给出3种不同的方法分别导出不同的位图和矢量图。

当然,在R中还有很多其他方法能做到导出图片,望大家给出更好的建议,欢迎在下方留言,我们一起探讨哦~

关注微信公众号“易小蟹说统计”。

后台回复“导出”即可获取文中提到的图片打开工具哦~

责任编辑:2017中考优秀作文赏析,套路满满,语文偏科的童鞋有救了!