2015-10-16 37 views
4

我正在用ggplot將兩個圖打印到R Markdown HTML輸出中,但我希望它們並排顯示。這可能嗎? 我可以設置數字的大小嗎?打印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) 
``` 

這將產生以下:

enter image description here

UPDATE:按照我下面接收到的,我嘗試使用gridExtra庫,並通過添加打印的曲線的建議:

grid.arrange(genesDetectedDensity_MiSeq, genesDetectedHistogram_MiSeq, ncol=2) 

這幾乎工作,但它仍然是一種凌亂:

enter image description here

回答

10

您可以在gridExtra庫使用grid.arrange()來實現這一點:)

編輯:使用虹膜看到圖像:link

library(gridExtra) 

plot1 <- qplot(iris$Sepal.Length) 
plot2 <- qplot(iris$Sepal.Width) 

grid.arrange(plot1, plot2, ncol=2) 
           ` 
+1

感謝您的回覆。你能寫一個如何在我的代碼中使用它的例子嗎? – gaelgarcia

+0

我同意@gaelgarcia。沒有一個例子,這個「答案」應該是一個評論。 – hrbrmstr

+0

希望這例如使得這是一個實際的答案:D – Bg1850

1

只要你使用標準的R降價HTML的報告,你可以使用的R降價使用引導並排獲得兩個圖側的事實。如果你有很長的標題,你可以使用轉義字符\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>