gpt4 book ai didi

r - 使用 Rmd 的 knitr 分辨率较差

转载 作者:行者123 更新时间:2023-12-03 01:16:16 27 4
gpt4 key购买 nike

我有一个 .Rmd 文件,我正在尝试通过函数 pandoc 创建一个 .docx 文件。

我想要一个最终分辨率为 504x504 像素的图形(即 7x7 英寸,72dpi)。不幸的是,默认的 72 dpi 质量太差,我想将其增加到 150 dpi,而不改变最终分辨率(因此它在 .docx 文件中已经具有正确的大小)。如果我保留选项fig.width和fig.height = 7并设置dpi = 150,我会得到我想要的质量,但最终分辨率会增加,并且数字会超出.docx边距。我尝试使用参数 out.width 和 out.height 但当我包含这些参数时,它只是不会在最终的 .docx 中绘制任何内容。

想法?

.Rmd 代码示例:

My title
-------------------------

*(this report was produced on: `r as.character(Sys.Date())`)*

That's my plot

```{r echo=FALSE}
plot(0,0,type="n",xlim=c(0,500), ylim=c(-12,0), las=1)
color <- rainbow(500)
text(380,-1,"Test",pos=4)
lseq <- seq(-6,-2,length.out=500)
for(j in seq_along(lseq)) {
lines(c(400,450), rep(lseq[j], 2), col=color[j])
}
polygon(c(400,450,450,400), c(-6,-6,-2,-2), lwd=1.2)
```

转换为.docx

library(knitr)
library(markdown)
knit("example.Rmd") # produces the md file
pandoc("example.md", format = "docx") #prodces the .docx file

如果我尝试重新缩放图形,它就是行不通。如下:

My title
-------------------------

*(this report was produced on: `r as.character(Sys.Date())`)*

That's my plot

```{r echo=FALSE, dpi=150, fig.width=7, fig.height=7, out.width=504, out.height=504}
plot(0,0,type="n",xlim=c(0,500), ylim=c(-12,0), las=1)
color <- rainbow(500)
text(380,-1,"Test",pos=4)
lseq <- seq(-6,-2,length.out=500)
for(j in seq_along(lseq)) {
lines(c(400,450), rep(lseq[j], 2), col=color[j])
}
polygon(c(400,450,450,400), c(-6,-6,-2,-2), lwd=1.2)
```

最佳答案

自从提出这个问题以来,该软件很可能已经得到了改进。我提出这个问题是为了寻找如何提高绘图的分辨率。我发现 OP 的原始方法对我来说是开箱即用的。

因此,在 block 的参数中设置dpi=300(因为dpi=150没有产生足够明显的差异),可以在不修改Word 中图像的物理尺寸。

```{r, echo=FALSE, dpi=300, fig.width=7, fig.height=7}
plot(0,0,type="n",xlim=c(0,500), ylim=c(-12,0), las=1)
color <- rainbow(500)
text(380,-1,"Test",pos=4)
lseq <- seq(-6,-2,length.out=500)
for(j in seq_along(lseq)) {
lines(c(400,450), rep(lseq[j], 2), col=color[j])
}
polygon(c(400,450,450,400), c(-6,-6,-2,-2), lwd=1.2)
```

但是,设置 out.widthout.height 会完全删除图像的生成,并显示警告“fig.align、out.width、out.height” 、out.extra 不支持 Word 输出”。

关于r - 使用 Rmd 的 knitr 分辨率较差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18884778/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com