2017-04-17 59 views
1

下面的knitr代碼給了我下面的圖 - 我如何在橫向上繪製它?如何在knitr中生成橫向[旋轉90度]方向的情節?

```{r} 
rm(list=ls()) 
library(tree) 
set.seed(1111) 
x1<-runif(100) 
x2<-rnorm(100,mean=.3) 
x3<-runif(100) 
d1<-x1>0.5 
d2<-x2>0.7 
d3<-x3<0.2 
y<-ifelse(d1,1,ifelse(d2,2,ifelse(d3,3,4))) 
df<-data.frame(x1,x2,x3,y) 
tr<-tree(y~.,data=df) 
plot(tr) 
text(tr) 
``` 

enter image description here

+0

對我來說,看起來「比它高」。這不是什麼景觀意味着什麼?你到底什麼意思? –

+0

@MikeWise - 旋轉了90度 – user975917

回答

2

如果你想有一個PDF/LaTeX的輸出是與out.extra='angle=90'大塊的說法很簡單:

--- 
title: "Rotation test" 
output: pdf_document 
--- 

```{r, out.extra='angle=90'} 
rm(list=ls()) 
library(tree) 
set.seed(1111) 
x1<-runif(100) 
x2<-rnorm(100,mean=.3) 
x3<-runif(100) 
d1<-x1>0.5 
d2<-x2>0.7 
d3<-x3<0.2 
y<-ifelse(d1,1,ifelse(d2,2,ifelse(d3,3,4))) 
df<-data.frame(x1,x2,x3,y) 
tr<-tree(y~.,data=df) 
plot(tr) 
text(tr) 
``` 

在某些circumnstances最好是保持曲線圖,但對在您的文檔中只以橫向格式旋轉一頁。 您需要pdflscape LaTeX軟件包(例如,在Ubuntu的texlive-latex-base軟件包中包含「oberdiek」)。

在以下示例中,圖形被擴展爲以橫向格式佔用完整的A4頁面。注意:您必須指定fig.align='center'才能使其正常工作。

--- 
title: "Rotation test" 
output: pdf_document 
header-includes: 
     - \usepackage{pdflscape} 
--- 

```{r} 
rm(list=ls()) 
library(tree) 
set.seed(1111) 
x1<-runif(100) 
x2<-rnorm(100,mean=.3) 
x3<-runif(100) 
d1<-x1>0.5 
d2<-x2>0.7 
d3<-x3<0.2 
y<-ifelse(d1,1,ifelse(d2,2,ifelse(d3,3,4))) 
df<-data.frame(x1,x2,x3,y) 
tr<-tree(y~.,data=df) 
``` 

\newpage 

\begin{landscape} 

```{r fig.align='center', fig.width = 27/2.54, fig.height = 19/2.54} 
plot(tr) 
text(tr) 
``` 
\end{landscape} 

```{r} 
summary(tr) 
``` 
+0

不錯,但不幸的是R標記不起作用。 –

+0

你是什麼意思?它應該與Rmarkdown一起工作,只要您安裝了正確的LaTeX組件 – Gilles