如何将绘图保存为磁盘上的图像?

我使用R绘制了一个简单的线性回归。我想将该图像保存为PNG或JPEG,是否可以自动执行此操作? (通过代码)

有两个不同的问题:首先,我已经在看我的显示器上的情节,我想保存它。 其次,我还没有生成剧情,但是当我执行我的绘图代码时,我想直接将它保存到磁盘。


有两个密切相关的问题,每个问题都有答案。


1.我的脚本将来会生成一个图像,我该如何将它保存到磁盘上?

要保存情节,您需要执行以下操作:

  • 使用png()bmp()pdf()或类似方法打开设备
  • 绘制你的模型
  • 使用dev.off()关闭设备
  • 一些用于将绘图保存为png文件的示例代码:

    fit <- lm(some ~ model)
    
    png(filename="your/file/location/name.png")
    plot(fit)
    dev.off()
    

    这在图形格式的(组合)帮助页面中进行了描述?png?bmp?jpeg?tiff以及单独的?pdf帮助页面。

    但请注意,图像可能在磁盘上看起来与直接绘制到屏幕上的相同绘图不同,例如,如果您已调整屏幕上的窗口大小。


    请注意,如果您的绘图是由latticeggplot2 ,则必须明确地打印该绘图。 看到这个答案,更详细地解释了这一点,并链接到R常见问题:ggplot的qplot不执行采购


    2.我正在查看屏幕上的情节,我想将它'按原样'复制到磁盘上。

    dev.print(pdf, 'filename.pdf')
    

    这应该完美地复制图像,尊重您对交互式窗口进行的任何调整。 您可以像在此答案的第一部分中一样,用其他文件类型(例如png替换pdf


    如果你想继续看R中的情节,另一个选择是使用dev.copy

    X11 ()
    plot (x,y)
    
    dev.copy(jpeg,filename="plot.jpg");
    dev.off ();
    

    如果你在R中遇到了太多的绘图窗口,可以使用graphics.off()来关闭所有的绘图窗口。


    如果你使用ggplot2 ,保存的首选方式是使用ggsave 。 首先你必须在创建图表后调用ggsave

    ggplot(...)
    ggsave("plot.png")
    

    图像的格式取决于您为文件名选择的扩展名。 其他参数可以传递给ggsave ,特别是widthheightdpi

    链接地址: http://www.djcxy.com/p/30829.html

    上一篇: How to save a plot as image on the disk?

    下一篇: Plot a legend outside of the plotting area in base graphics?