zoukankan      html  css  js  c++  java
  • 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/

  • 相关阅读:
    HDU 1166 敌兵布阵
    HDU 1397 Goldbach's Conjecture
    VC 界面库皮肤库
    入门基础VC网络编程入门
    入门基础VC网络编程入门(2)
    线程 消息循环
    BMP文件的读取
    Microsoft SQL Server 2008 Enterprise Edition 简体中文企业版
    成功采用设计模式的步骤
    vs2010调试
  • 原文地址:https://www.cnblogs.com/yangk/p/4760822.html
Copyright © 2011-2022 走看看