如何提高R中绘图的分辨率?
我正在用R做简单的绘图,希望得到的图像具有很高的分辨率。我尝试在输出图像代码中指定较大的高度和宽度参数,但这只会生成带有模糊数据点的较大图像 我当前的代码如下所示:如何提高R中绘图的分辨率?,r,plot,resolution,R,Plot,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() png(fi
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()
png(filename=“simple\u graphic.png”,宽=5600,高=1000)
深度图这个问题有几种可能的答案,评论会小心地告诉你在哪里可以找到答案。我将通过提供他们提到的内容来破坏这一点,但也提出另一个问题:
答案:在呼叫png时使用res=300
(或更高)。在help(png)
中,它声明默认ppi(每英寸像素数)为72,低于精细分辨率图形所需的值。300适合大多数打印机和屏幕,YMMV
png(filename="simple_graphic.png", res=300) # perhaps width/height as well
# ...
dev.off()
另一个问题:我可以用什么格式最好地显示我的图表?这一点经常被许多用R绘制图形的人所忽略,这很不幸,但很容易纠正:使用基于向量的图像格式。如果您使用的是Powerpoint或Word,那么最好制作一个增强的图元文件格式(EMF)文件
如果您能够以可缩放矢量图形(SVG)格式(例如Inkscape、Scribus等)使用图像,则只需使用SVG(…)
代替emf(…)
。同样的选项/规则也适用
类似地,如果您是LaTeX,您可以使用pdf(…)
(相同语法)直接转到pdf
注意:使用这些基于矢量(而不是基于光栅,如PNG)的图像格式的一个好处是,如果您想要/需要以不知道如何在R中使用的方式对图形进行精细化,您可以在类似Inkscape的东西中打开EMF/SVG/PDF,以便轻松修改线条(颜色、厚度)、文本(字体、大小、位置)、方框、箭头、,等。Inkscape将允许您导出到EMF、SVG、PDF、PNG等格式。请仔细阅读?PNG
。这可能会有所帮助:您可能还想看看导出包,该导出包可以轻松导出高质量的图形,包括矢量格式的Powerpoint;以及
install.packages('devEMF') # just once
library(devEMF)
emf(filename="simple_graphic.emf", width=1024, height=800)
# ...
dev.off()