• 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输出

    转自博文:http://www.cellyse.com/how_to_use_gggplot2_part2/

  • 相关阅读:
    关于这个 blog
    P6499 [COCI2016-2017#2] Burza 题解
    CF1172F Nauuo and Bug 题解
    CF1479D Odd Mineral Resource 题解
    CF1442E Black, White and Grey Tree 题解
    CF1442D Sum 题解
    CF1025D Recovering BST 题解
    CF1056E Check Transcription 题解
    CF1025F Disjoint Triangles 题解
    红包算法的PHP实现
  • 原文地址:https://www.cnblogs.com/yangk/p/4760822.html
Copyright © 2020-2023  润新知