我希望这个问题是正确的。为了教学目的,我想创建一个针织品文档,其中R基图形系统的输出和格子包的输出在一个面板中进行比较。考虑一个数字向量:
```{r dataload}e2 <- c(72、79、81、80、63、62、89、90、50、78、87、97、55、69、97、87、
88, 99, 76, 78, 65, 77, 88, 90, 81)我试图用以下代码生成一个面板:
```{r plots}par(mfrow = c(1,2)) #Set 1行2列面板
左侧hist(e2) #基本图形直方图
右边直方图(~e2)#格直方图
但是格直方图关闭面板,删除基本图形直方图。
预期结果:
面板应该报告另一边的基本图和另一边的格图,类似于这个非常漂亮的帖子的产品。不幸的是,博客没有解释结果是如何产生的,我也没有找到关于这个问题的更多信息。我可以很容易地生成两幅不同的图像,但我认为面板表示会产生更漂亮的可比结果。
非常感谢您的耐心。
发布于 2016-03-07 08:37:46
正如所讨论的在R邮件列表上,lattice和基本R图形的兼容性是有限的。在文章中引用的这一项说明了它是可以完成的,但也有一些复杂之处。然而,这个简单的例子不值得付出努力,因为一个更简单的解决方案是生成两个独立的地块,并将它们并排放置。
这就引出了一个新的问题:如何在Rmarkdown中并排放置两个数字?解释了如何将数字与knitr并排放置的一些答案,但大多数答案都提到了LaTeX/RNW文档。在这个答案中给出了一个可能的Rmarkdown解决方案,但我想提出另一个简单的方法,它不需要添加自定义CSS:
```{r mychunk, fig.show='hide'}图书馆(针织品)
图书馆(格)
hist(iris$Sepal.Length)
直方图(iris$Sepal.Length)
base|lattice
-------------------------------|-------------------------------:
`r include_graphics(paste0(opts_chunk$get("fig.path"), "mychunk-1.png"))`|`r include_graphics(paste0(opts_chunk$get("fig.path"), "mychunk-2.png"))`fig.show = 'hide'取消了数字的自动打印。无论如何都会生成这些数字,然后可以使用include_graphics结合使用opts_chunk$get("fig.path")获得的图形目录的路径以及knitr将“图像命名为fig.path-label-i,其中i是从1开始递增的”这一事实(源:以前的链接)。
并行布局是使用pipe_table实现的。这很方便,因为可以通过简单地从第二行中添加或删除破折号来控制图像的宽度。
注意:在HTML中,除非self_contained是false,否则图像是使用数据URI而不是文件来包含的。尽管如此,上面的解决方案仍然有效,因为在knitr将RMD文件处理为MD时,图像或尚未转换为数据URI;这发生在Pandoc从MD文件生成HTML的下一步。
https://stackoverflow.com/questions/35771857
复制相似问题