IT Share you

R 플롯을 LaTeX로 가져 오나요?

shareyou 2020. 11. 10. 22:36
반응형

R 플롯을 LaTeX로 가져 오나요?


저는 R과 LaTeX의 초보자이며 최근에 R을 사용하여 표준 시계열 그래프를 플로팅하고이를 png 이미지로 저장하는 방법을 찾았습니다. 내가 걱정하는 것은 이미지로 저장 한 다음 LaTeX에 임베딩하면 크기를 조정하고보기 흉하게 보이게한다는 것입니다.

R의 plot()함수 출력을 벡터 그래픽으로 만들고이를 LaTeX에 임베드하는 방법이 있습니까? 저는 둘 다 초보자이므로 부드럽습니다. :) 코드 조각은 매우 감사합니다!


Shane이 현장에 있습니다. Sweave를 원합니다. 결국.

초보자로서 작업을 분리하는 것이 좋습니다. 이를 위해 다음을 수행하십시오.

  1. 장치 열기 : pdf("figures/myfile.pdf", height=6, width=6).
  2. R 객체를 플로팅합니다 plot(1:10, type='l', main='boring').-그리고 lattice와 ggplot에는 명시 적 print주위에 plot.
  3. 중요 : 장치 닫기 : dev.off()파일을 마무리합니다.
  4. 선택 사항 : pdf 파일을 검사하십시오.
  5. LaTeX에서는 usepackage{graphicx}문서 헤더에 사용
    \includegraphics[width=0.98\textwidth]{figures/myfile}하고 이전에 만든 그림을 포함하는 데 사용 하며 파일 확장자는 선택 사항입니다.
  6. 이것을 통해 실행 pdflatex하고 즐기십시오.

tikzDeviceLaTeX 문서에 포함 할 출력을 생성하기위한 패키지를 권장합니다 .

http://cran.r-project.org/web/packages/tikzDevice/index.html

tikzDevice는 R에서 생성 된 그래픽을 LaTeX 패키지에서 해석 할 수있는 코드로 변환합니다 tikz. TikZ는 LaTeX를위한 매우 멋진 벡터 그리기 시스템을 제공합니다. TikZ 출력의 몇 가지 좋은 예는 다음 위치에 있습니다.

http://www.texample.net/

tikzDevice다른 R 그래픽 장치와 같이 사용될 수있다 :

require( tikzDevice )

tikz( 'myPlot.tex' )

plot( 1, 1, main = '\\LaTex\\ is $\\int e^{xy}$' )

dev.off()

R은 단일 백 슬래시를 이스케이프 문자로 해석하므로 LaTeX 매크로의 백 슬래시는 두 배 여야합니다. LaTeX 문서에서 플롯을 사용하려면 다음을 포함하기 만하면됩니다.

\include{path/to/myPlot.tex}

pgfSweave패키지는 포함 Sweave당신을위한 위의 단계를 처리 할 수있는 기능을. 문서가 \usepackage{tikz}LaTeX 서문에 포함되어 있는지 확인하십시오 .

http://cran.r-project.org/

tikz()기능 의 장점은 다음과 pdf()같습니다.

  • 그림의 레이블 및 캡션 글꼴은 항상 LaTeX 문서에 사용 된 글꼴과 일치합니다. 이것은 문서에 통일 된 모양을 제공합니다.

  • 수학적 주석을 만드는 데 사용할 수있는 LaTeX 식 자기의 모든 기능을 사용할 수 있으며 그림 텍스트에 임의의 LaTeX 코드를 사용할 수 있습니다.

tikz()기능의 단점은 다음 과 같습니다.

  • 구성 요소가 많은 플롯을 처리하기 위해 확장되지 않습니다. 이것들은 persp()큰 행렬의 플롯 과 같은 것 입니다. 그래픽 요소의 전단 수로 인해 LaTeX가 크롤링 속도가 느려지거나 메모리가 부족할 수 있습니다.

  • 패키지는 현재 베타로 표시되어 있습니다. 이는 저자가 그렇게해야 할 설득력있는 이유를 발견하면 패키지의 인터페이스 나 기능이 변경 될 수 있음을 의미합니다.

나는 내 의견이 편향 될 수 있도록 내가 tikzDevicepgfSweave패키지 의 저자임을 부인함으로써이 게시물을 끝내야합니다 . 그러나 저는 작년에 여러 가지 학술 보고서를 작성하기 위해 두 패키지를 모두 사용했으며 결과에 매우 만족했습니다.


You might want to consider using Sweave. There is a lot of great documentation available for this on the Sweave website (and elsewhere). It has very simple syntax: just put your R code between <<>>= and @.

Here's a simple example that ends up looking like this:

\documentclass[a4paper]{article}

\title{Sweave Example 1}
\author{Friedrich Leisch}

\begin{document}

\maketitle

In this example we embed parts of the examples from the
\texttt{kruskal.test} help page into a \LaTeX{} document:

<<>>=
data(airquality)
library(ctest)
kruskal.test(Ozone ~ Month, data = airquality)
@
which shows that the location parameter of the Ozone 
distribution varies significantly from month to month. Finally we
include a boxplot of the data:

\begin{center}
<<fig=TRUE,echo=FALSE>>=
boxplot(Ozone ~ Month, data = airquality)
@
\end{center}

\end{document}

To build the document, you can just call R CMD Sweave file.Rnw or run Sweave(file) from within R.


This is a dupe of a question on SO that I can't find.

But: http://r-forge.r-project.org/projects/tikzdevice/ -- tikz output from r and http://www.rforge.net/pgfSweave/ tikz code via sweave.

Using tikz will give you a look consistent with the rest of your document, plus it will use latex to typeset all the text in your graphs.

EDIT Getting LaTeX into R Plots

참고URL : https://stackoverflow.com/questions/1890215/getting-r-plots-into-latex

반응형