gae*_*cia 6 r ggplot2 rstudio r-markdown
我将两个带有ggplot的图打印成一个R Markdown HTML输出,但我希望它们并排出现.这可能吗?我也可以设定数字的大小吗?
到目前为止我只能一个接一个地打印出来.我也尝试过R Cookbook中的多重绘图功能,但这严重扭曲了这些情节......
谢谢!
title: "HT Chip MiSeq/HiSeq Analysis"
date: "October 1, 2015"
output:
html_document:
highlight: haddock
theme: flatly
---
```{r plots, echo=FALSE}
genesDetectedDensity_MiSeq <- ggplot(meta.miseq) + geom_density(aes(genesDetected, fill=column, color=seqRun), alpha=0.2) + scale_x_continuous(limits=c(0,2000), breaks=seq(0, 2000, 100)) + ggtitle("Genes Detected across cells from MiSeq Runs")
return(genesDetectedDensity_MiSeq)
genesDetectedHistogram_MiSeq <- ggplot(meta.miseq) + geom_bar(aes(genesDetected, fill=column, color=seqRun), position="dodge", binwidth=50, alpha=0.2) + scale_x_continuous(limits=c(0,2000), breaks=seq(0, 2000, 100)) + ggtitle("Genes Detected across cells from MiSeq Runs")
return(genesDetectedHistogram_MiSeq)
```
Run Code Online (Sandbox Code Playgroud)
这产生以下结果:
更新:根据我在下面收到的建议,我尝试使用该gridExtra
库,并通过添加以下内容打印图:
grid.arrange(genesDetectedDensity_MiSeq, genesDetectedHistogram_MiSeq, ncol=2)
Run Code Online (Sandbox Code Playgroud)
这几乎可以工作,但它仍然有点混乱:
Bg1*_*850 17
你可以在gridExtra库中使用grid.arrange()来实现这个:)
编辑:使用iris查看图片:链接
library(gridExtra)
plot1 <- qplot(iris$Sepal.Length)
plot2 <- qplot(iris$Sepal.Width)
grid.arrange(plot1, plot2, ncol=2)
`
Run Code Online (Sandbox Code Playgroud)
只要您使用标准的R Markdown html报告,您就可以使用R Markdown使用引导程序并排获得两个图形的事实.如果您有长标题,则可以使用转义字符\n
对它们进行换行,如下所示:
---
title: "test"
author: "Testperson"
output:
html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
## R Markdown
This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see <http://rmarkdown.rstudio.com>.
When you click the **Knit** button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
<div class = "row">
<div class = "col-md-6">
```{r cars, warning = FALSE, echo = FALSE, dev=c('svg')}
plot(pressure, main = paste("Lorem Ipsum ",
"Ipsum lorem ipsum. ",
"\nLorem ipsum", sep=""))
```
</div>
<div class = "col-md-6">
```{r pressure, warning = FALSE, echo=FALSE, dev=c('svg')}
plot(pressure, main = paste("Lorem Ipsum ",
"Ipsum lorem ipsum. ",
"\nLorem ipsum", sep=""))
```
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
您还可以在块选项中将 out.width 更改为 <=50%。
需要有echo = FALSE
块选项!
---
title: "Side by Side"
output: html_document
---
You can also change the figure output options.
```{r base plot, warning = FALSE, echo=FALSE, out.width="50%"}
plot(pressure, main = paste("Lorem Ipsum ",
"Ipsum lorem ipsum. ",
"\nLorem ipsum", sep=""))
plot(pressure, main = paste("Lorem Two ",
"Ipsum lorem ipsum. ",
"\nLorem ipsum", sep=""))
```
or, with ggplot objects
```{r ggplot2, warning = FALSE, echo=FALSE, out.width="50%"}
library(ggplot2)
ggplot(pressure, aes(temperature, pressure)) +
geom_point() +
ggtitle("plot1")
ggplot(pressure, aes(temperature, pressure)) +
geom_point() +
ggtitle("plot2")
```
Run Code Online (Sandbox Code Playgroud)
结果