用R语言来导出各种格式的图片

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

欢迎关注微信公众号(医学生物信息学),医学生的生信笔记,记录学习过程。

常见图片的格式包括:pdf,jpeg,tiff,png,svg,wmf。

pdf,svg和wmf为矢量图格式,放大图片时不会出现模糊。

jpeg,tiff和png为位图格式,调整文件大小时会出现模糊。

ggsave()来保存图片

通过ggplot2来绘图,那么可以使用ggsave()来保存输出图片。

plot1 <- ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point()

# 默认输出单位为英寸,可以通过units参数来指定单位
ggsave("myplot.pdf", plot1, width = 8, height = 8, units = "cm")

另一种方式是ggplot对象不赋值为plot1,在调用ggplot()之后只调用ggsave(),它将保存最后一个ggplot对象。

使用ggsave(),不需要通过print()来打印ggplot对象,如果在创建或保存图片时出错,则无需通过dev.off()来手动关闭图形设备。还有一点需要注意,ggsave()不能用于绘制多页图。

ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point()

ggsave("myplot.pdf", width = 8, height = 8, units = "cm")

输出图片为PDF格式

方法一

pdf("myplot.pdf", width = 4, height = 4)

plot(mtcars$wt, mtcars$mpg)
print(ggplot(mtcars, aes(x = wt, y = mpg)) + geom_point())

dev.off()

默认宽度和高度的输出单位为英寸,若想输出单位为厘米,则需通过下方代码进行转换。

# 8x8 cm
pdf("myplot.pdf", width = 8/2.54, height = 8/2.54)

方法二

plot1 <- ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point()

# 默认输出单位为英寸,可以通过units参数来指定单位
ggsave("myplot.pdf", plot1, width = 8, height = 8, units = "cm")

输出图片为SVG格式

方法一

library(svglite)
svglite("myplot.svg", width = 4, height = 4)
plot1 <- ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point()
print(plot1)
dev.off()

方法二

plot1 <- ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point()
ggsave("myplot.svg", plot1, width = 8, height = 8, units = "cm")

输出图片为PNG格式

方法一

# 宽度和高度以像素为单位
png("myplot.png", width = 400, height = 400)
plot(mtcars$wt, mtcars$mpg)
dev.off()

若要输出多个图片,可以在文件名中加入%d

png("myplot-%d.png", width = 400, height = 400)
plot(mtcars$wt, mtcars$mpg)
print(ggplot(mtcars, aes(x = wt, y = mpg)) + geom_point())
dev.off()

默认输出为每英寸72像素(ppi)。这种分辨率适合在电子屏幕上显示,而300 ppi一般用于印刷。

ppi <- 300
# 计算300 ppi下4x4英寸图像的高度和宽度(以像素为单位)
png("myplot.png", width = 4*ppi, height = 4*ppi, res = ppi)
plot(mtcars$wt, mtcars$mpg)
dev.off()

从左到右:PNG输出为72、150和300 ppi(实际大小)

方法二

ggplot(mtcars, aes(x = wt, y = mpg)) + geom_point()

# 默认输出单位为英寸,可以通过units参数来指定单位
ggsave("myplot.png", width = 8, height = 8, unit = "cm", dpi = 300)

输出图片为TIFF格式

方法一

tiff("myplot.tiff", width = 4, height = 4, units = "cm", res = 300)
plot1 <- ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point()
print(plot1)
dev.off()

方法二

plot1 <- ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point()
ggsave("myplot.tiff", plot1, width = 8, height = 8, units = "cm", dpi = 300)

输出图片为WMF格式

WMF文件的创建和使用方式与PDF文件非常相似,但只能在Windows上创建。

方法一

win.metafile("myplot.wmf", width = 4, height = 4)
plot1 <- ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point()
print(plot1)
dev.off()

方法二

plot1 <- ggplot(mtcars, aes
R中输出常见位图和矢量图格式总结 R语言有两大主要功能,绘图和统计,R的绘图功能是很强大的,在R里绘制好图形后常常需要输出图形。 图形常见的格式有位图和矢量图,位图又包括TIFF、BMP、JPEG、PNG等;矢量图包括PDF、VMF、SVG等。 今天就来学习R中怎么导出常见的位图和矢量图形。 1. 导出位图 保存图形时,将绘图代码放在开启目标图形设备的语句和关闭目标图形设备的语句之间即可。 用法: tiff("mygraph.tiff")#开启目标图形设备 plot(mtcars$wt,mtcars$mpg)#绘图代... 阅读详情

相关推荐

只需一步!----解决R语言高清图片输出

R语言对新手有一个比较麻烦的是如何满足论文中的高分辨率或者高清的图片 其实借助WPS可以一步解决 1.直接输出PDF 2打开PDF直接转成你需要的常见格式

weixin_55805031的博客 9291

R语言中常见的位图和矢量图格式总结

通过使用上述的函数和包,你可以轻松地将R中的图形输出为各种常见的位图和矢量图格式。选择合适的图像格式取决于你的需求,如果你需要展示复杂的细节和渐变效果,位图图像选择合适的图像格式取决于你的需求,如果你需要展示复杂的细节和渐变效果,位图图像格式如PNG和JPEG是不错的选择。总结起来,R语言提供了丰富的位图和矢量图格式选择,通过使用相应的函数和包,你可以将R中的图形保存为PNG、JPEG、BMP、PDF、SVG、EPS等格式,以满足不同的展示和分享需求。在R中,我们可以使用不同的函数和包来输出各种图形格式

CyberByte的博客 598

保存plot_R批量作图及自动导出保存

最近需要手动做很多张图片,然后复制粘贴导出。于是研究了一下R的批量作图的功能。思想比较简单,就是用一个for的循环,自动完成批量作图和导出。下面以R自带的diamonds数据为例,示范一下:#加载包 library(dplyr) library(ggplot2) library(scales) getwd() #设定路径, setwd(D:R Project) ##################...

weixin_29608291的博客 6569

R语言实操记录——导出高清图片(矢量图)

R语言实操记录——导出高清图片(矢量图)

qq_45794091的博客 2万+

R语言导出图片为png、jpg、tiff、pdf、ppt格式

png格式 jpg格式 tiff格式 bmp格式 pdf格式 ppt格式

weixin_45803246的博客 5万+

export包:将R语言的图表对象导出为PPT格式,再也不需用Ai作图了

将R语言的图表对象导出为PPT格式,再也不需用Ai作图了

康娜的博客 3374

android 图片剪切去掉周围空白区域_word插入图片保持清晰度的一个小技巧

自己之前在写论文的时候配图的处理方式是: 使用R语言作图,然后导出为pdf格式,再使用Adobe Acrobat打开pdf文件,另存为tiif格式图片,然后再插入word,tiff格式图片分辨率如果设置的稍微大一点的话文件就会非常大。插入word后即使分辨率很高有时候也不会很清楚。好像是word有一个设置是会对大图片进行压缩,以防止保存的文件过大(我不知道这个对不对,我印象里好像在哪里看见过这...

weixin_35089891的博客 293

R语言组图——R语言里面作图或者导入图片

在用R语言做完图之后要想放在论文里,就需要把不同的图组合起来,尝试过用PPT,以及在Word里,效果都不太好,因此试着在R里组图(它的优势在于调图片清晰度比较方便)总而言之,涉及的代码就是ggarrange函数(作用是组图)和annotate_figure函数(作用是加标题)这两句,灵活反复运用就行了。在做的过程中我觉得比较有趣的一点就是①先组图再加标题还是②先加标题再组图 ,或者③加标题再组图,再加总的标题。如标题所示,包括①R里面做出的图以及②已经导出为PNG格式图片

weixin_67608357的博客 1508

R语言Cairo包的使用

Cairo使用起来非常简单,和基础包grDevices中的函数对应。 CairoPNG---grDevices:png()。 CairoTIFF---grDevices:tiff()。 CairoPDF---grDevices:pdf()。 ... 查看Cairo所支持的图片格式: #加载Cairo包 library(Cairo) #检查所支持的图片格式 C...

Conan8532的博客 3746

r语言过程 markdown导出_【软件】R语言数据导入与导出

“R语言导入文本和xlsx文件数据的方法,以及数据与图片的输出”许多数据往往保存在TXT文件或Excel文件中,该如何将这些文件导入R语言进行分析呢?另外,使用R语言处理完数据之后,我们希望导出一些有用的信息,那么如何将R语言的数据处理结果输出为文档呢?本文将就这些问题展开介绍。01—数据导入 R语言变量编辑使用x> x> y> z> u> tp>...

weixin_40002238的博客 2115

R语言绘图1

文章目录R语言绘图1难点一:修改图像参数的两种方法难点二:如何将多条曲线画在一张图上难点三:给点添加文本标注难点四:如何将图片导出为不同格式 R语言绘图1 难点一:修改图像参数的两种方法 #方法一:用par参数进行修改 #par()将生成一个含有当前图像参数设置的列表 #par(no.readonly = T)可以生成一个可以修改的当前参数列表 #输入运行数据 dose = c(20, 30, 4...

YJJ18636810884的博客 2321

Java调用R

package r.test; import java.io.FileOutputStream; import org.rosuda.REngine.REXPMismatchException; import org.rosuda.REngine.REngineException; import org.rosuda.REngine.REXP; import org.rosuda.REngin

Xu_Haihua的专栏 665

r语言 新增一列数字类型_哈佛R语言课程7.R语言进行数据可视化

今天是生信星球陪你的第349天 大神一句话,菜鸟跑半年。我不是大神,但我可以缩短你走弯路的半年~ 就像歌儿唱的那样,如果你不知道该往哪儿走,就留在这学点生信好不好~ 这里有豆豆和花花的学习历程,从新手到进阶,生信路上有你有我!原文链接:https://hbctraining.github.io/Intro-to-R/lessons/07_ggplot2.html系列目录推荐...

weixin_39577052的博客 577

语言 标签倾斜 绘图_R语言作图——Radar chart

原创:黄小仙今天小仙同学给大家分享下Radar chart的作图方法,其实雷达图我们在生活中能经常可以见到,比如大家很喜欢玩的王者荣耀里就有。通过简单的图形对比,人物特点一目了然。也经常用来评估学生的成绩和产品的性能。在生信领域,我们也可以用来比较评估样品的基因表达情况啦。作图数据如下:画出来的效果图如下:作图方法:Step1. 绘图数据的准备首先还是要把你想要绘图的数据调整成R语言可以识别的格式...

weixin_35057850的博客 530

R: 导入 csv 文件,导出到csv文件,;绘图后导出图片、pdf等

################################################### 问题:导入 csv 文件 如何从csv文件中导入数据,?参数怎么设置?常用参数模板是啥? 解决方案: yuan <- read.csv(file = "C:/Users/Administrator/Desktop/test1.csv",heade...

weixin_30657999的博客 2782

OMX GitHub/PR/package 身份管线:从 Issue 到可追踪工作包、PR 与合并决策的工程契约

本文解读 OmX(Oh My codeX)仓库中面向开源协作的 [GitHub/PR/package 身份管线契约](https://link.gitcode.com/i/9c5ecff07fec2ad7d0f2edfa3055795a):它定义了如何把 GitHub Issue 或社区反馈转变成具备稳定 `package_id` 的可执行工作包(package),并驱动 worktree、分支、

gitblog_01155的博客 861

R 中将图表导出成文件

要特别强调的一点是,必须要使用 dev.off() 命令来告诉 R 我们已经完成绘图,否则我们的要保存的图像就不会出现

Casey_cai的博客 1万+

【科研绘图避坑手册】:R语言图片导出常见错误及修复策略全公开

解决R语言论文绘图导出模糊、字体错乱等问题,本文提供高效准确的图片导出方法。涵盖PDF/矢量图导出设置、分辨率配置与设备选择,确保期刊投稿图表清晰规范。实用技巧值得收藏。

PixelFlow的博客 818
上一篇: 折线图-R语言
下一篇: 用R语言在图中添加注释信息
萍智医信
博客等级 码龄6年 34粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值