我从同事那里继承了一个创建绘图的函数,我们称之为make_plot
make_plot <- function(data) {plot(data)}
data <- rnorm(12)
假设括号之间还有很多东西,其中一些我什至没有足够的经验来更改,但我在这里保持简单。该函数最初开发是为了生成 png 格式的绘图,保持标签、点和其他元素之间的正确比例。
png("plot.png",width=500,height=500)
make_plot(data)
dev.off()
我正在发表一篇论文,其中包含使用此类函数生成的绘图,但该期刊的编辑希望我们提供 pdf 格式的绘图。不幸的是,当切换到 pdf 时,即使宽度和高度之间的比例保持不变,某些元素也会改变它们与其他元素的相对大小。
pdf("plot.pdf",width=5,height=5)
make_plot(data)
dev.off()
如何强制 R 生成比例模拟 png 渲染的 pdf 图?正如我之前提到的,从内部更改功能不是一种选择。您可以运行上面的代码来模拟该问题。
最佳答案
png 设备的大小以像素为单位,pdf 的大小以英寸为单位。由于(默认)分辨率为每英寸 72 点 (ppi)(请参阅 ?png
),如果使用以下命令,您将获得相同比例的 pdf:
pdf("plot.pdf",width=500/72,height=500/72)
关于r - 在R中从png切换到pdf时如何保持比例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41553941/