• R语言绘图高质量输出


    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输出
  • 相关阅读:
    俞敏洪谈大学爱情:终于在清华说实话了
    人的有两面性
    冯亚丽,打造1500亿帝国的奇女子
    做企业就要有精气神
    当心!“饭桌教育”祸害你的孩子
    为何企业宁可高薪招人,也不给老员工加薪?
    住的离公司有多远,成长就有多难
    物理像素,逻辑像素,解决1px的问题
    移动端布局 + iscroll + 滚动事件
    移动端布局 + iscroll.js
  • 原文地址:https://www.cnblogs.com/awishfullyway/p/6397339.html
Copyright © 2020-2023  润新知