如何在R中增加我的绘图的分辨率?

jak*_*115 6 plot r resolution

我在R中制作简单的图,并希望得到的图像具有非常高的分辨率.我尝试在输出图像代码中指定较大的高度和宽度参数,但这只会产生带有模糊数据点的大图像.

我当前的代码如下所示:

png(filename="simple_graphic.png", width=5600, height=1000)
depth_plot <- c(a large list of data)
plot(depth_plot, type="o", col="blue", log="y",)
dev.off()
Run Code Online (Sandbox Code Playgroud)

任何帮助优化此代码以使每个数据点的分辨率更高的帮助非常感谢!

r2e*_*ans 6

这个问题有几个可能的答案,评论是小心的,试着教你在哪里找到答案副,只是给你.我会通过提供他们提到的内容来破坏它,但也提出另一个问题:

  1. 答案:res=300在你的png调用中使用(或更高).从help(png),它表示默认的ppi(每英寸像素数)为72,低于精细分辨率图形所需的值.对于大多数打印机和屏幕来说,300是适合的,YMMV.

    png(filename="simple_graphic.png", res=300) # perhaps width/height as well
    # ...
    dev.off()
    
    Run Code Online (Sandbox Code Playgroud)
  2. 另一个问题:我能以什么样的格式最好地展示我的图表?许多人用R制作图表经常会忽略这一点,这很不幸但很容易补救:使用基于矢量的图像格式.如果您使用的是Powerpoint或Word,那么最好制作增强的图元文件格式(EMF)文件.

    install.packages('devEMF') # just once
    require(devEMF)
    emf(filename="simple_graphic.emf", width=1024, height=800)
    # ...
    dev.off()
    
    Run Code Online (Sandbox Code Playgroud)

    如果您能够以可缩放矢量图形(SVG)格式(例如,Inkscape,Scribus,...)使用图像,那么仅使用svg(...)代替emf(...).相同的选项/规则适用.

    同样,如果你是LaTeX,你可以直接使用pdf pdf(...)(相同的语法).

注意:进入这些基于矢量(基于副光栅的,如PNG)图像格式之一的一个好处是,如果你想要/需要以你不知道如何在R中的方式精细化图形,你可以打开为了轻松修改线条(颜色,粗细),文本(字体,大小,位置),方框,箭头等,可以在Inkscape中使用EMF/SVG/PDF,Inkscape将允许您导出为EMF,SVG,PDF ,PNG,......