R语言绘图高质量输出
2023-09-14 08:59:52 时间
R语言通过支持Cairo矢量图形处理的类库,可以创建高质量的矢量图形(PDF,PostScript,SVG) 和 位图(PNG,JPEG, TIFF),同时支持在后台程序中高质量渲染。在ggplot2中,图片输出经过Cairo包处理后,输出个效果更好,可以输出成PDF格式,PDF格式体积小,同时可以储存为其他任何格式,随后再将PDF储存为eps格式并在Photoshop中打开做最终的调整,例如调整比例、色彩空间和dpi(一般杂志和出版社要求dpi=300以上)等。额外需要注意的是ggplot2中的字体大小问题,在cookbook-r一书中指出,在ggplot2中绝大多数情况下,size的大小以mm记,详细的讨论也可以参考stackover的讨论,而在theme()中对element_text()里的size进行调整,此时的size是以磅值(points, pts)来进行表示。
下面以3种ggplot2种常用的图片输出方式,输出一幅主标题为20pts,横纵坐标标题为15pts,长为80mm(3.15in),宽为60mm(2.36in)的图为例。
require(ggplot2) require(Cairo) ggplot() + geom_text(aes(x = 16, y = 16), label = "ABC", size = 11.28) + #尺寸为11.28mm,即为32磅 geom_text(aes(x = 16, y = 14.5), label = "ABC", size = 32) + #尺寸为32mm labs( x = "x axis", y = "y axis") + ylim( c(14, 16.5)) + xlim( c(15.75, 16.25)) + theme( axis.title.x = element_text(size = 32),#尺寸为32磅 axis.title.y = element_text(size = 32))#尺寸为32磅 x <- seq(-4,4, length.out = 1000) y <-dnorm(x) data <- data.frame(x, y) #用Cairo包输出 require(Cairo) CairoPDF("plot1.pdf", 3.15, 3.15) #单位为英寸 ggplot(data, aes(x = x, y = y)) + geom_line(size = 1) + theme_bw() dev.off() #关闭图像设备,同时储存图片 plot2 <- ggplot(data, aes(x = x, y = y)) + geom_line(size = 1) + theme_bw() #用ggsave输出,默认即以用Cairo包进行抗锯齿处理 ggsave("plot2.pdf", plot2, width = 3.15, height = 3.15) #RStudio输出
相关文章
- go语言异步交叉输出abc
- AJAX顺序输出
- 【Spring Boot】Spring Boot之利用Logstash将日志转换成以JSON的格式存储和输出
- java:OutputStream和InputStream 输出输入流,FileOutputStream,FileInputStream写入读取流
- Java实现 蓝桥杯VIP 算法提高 多项式输出
- 【原创】日志输出到串口设备导致的问题
- 实现输出大小写字母
- Shell命令替换:将命令的输出结果赋值给变量
- Python语言学习:Python语言学习之正则表达式常用函数之re.search方法【输出仅一个匹配结果(内容+位置)】、re.findall方法【输出所有匹配结果(内容)】案例集合之详细攻略
- Python语言学习:字典排序相关案例实现(一行代码对字典按照key或value升序排序并输出、利用sorted对字典按照value进行递增排序,并给定排名索引,组成新字典输出)
- Python语言学习之打印输出那些事:python输出图表和各种吊炸天的字符串或图画、版权声明(如README.md)等之详细攻略
- OpenCV使用eigen函数输出特征向量及特征值
- 让程序在崩溃时输出Dump文件
- 习题 6.12 有一行电文,已按下面规律译成密码:A-Z a-z即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变。要求编程序将密码译回原文,并输出密码和原文。
- C语言输出循环类内的指定的数值和变量前感叹号!的使用
- R语言批量读取写入Excel数据 r导出输出写入excel多个sheet 导出excel 导入 excel 读入excel 表格
- IPython:利用python语言将后缀为ipynb文件中的输出的图片在py文件中编程进行可视化—即如何将IPython.core.display.HTML类型的数据进行图表可视化
- 【好物推荐】IDEA插件推荐——MyBatis Log Plugin查看MyBatis实时输出的SQL脚本