라텍스에 R 플롯을 얻습니까?
-
19-09-2019 - |
문제
나는 R과 Latex의 초보자이며 최근에 R을 사용하여 표준 시계열 그래프를 플로팅하고 PNG 이미지로 저장하는 방법을 찾았습니다. 내가 걱정하는 것은 이미지로 저장 한 다음 라텍스에 포함시키는 것이 그것을 확장하고 추악하게 보이게한다는 것입니다.
R을 만드는 방법이 있습니까? plot()
함수는 벡터 그래픽을 출력하고이를 라텍스에 포함 시켰습니까? 나는 둘 다 전체 초보자이므로 부드럽게 해주세요 :) 코드 스 니펫은 높이 평가됩니다!
해결책
셰인은 스팟 온입니다. 결국.
초보자로서, 당신은 작업을 분리하는 것이 더 나을 수 있습니다. 이를 위해 다음과 같이하십시오.
- 장치 열기 :
pdf("figures/myfile.pdf", height=6, width=6)
. - r 객체를 플로팅하십시오.
plot(1:10, type='l', main='boring')
- 그리고 격자와 ggplot은 명백한 것이 필요하다는 것을 기억하십시오.print
주위에plot
. - 중요 : 장치 닫기 :
dev.off()
파일을 마무리합니다. - 선택 사항 : PDF 파일을 검사하십시오.
- 라텍스에서 사용하십시오
usepackage{graphicx}
문서 헤더에서 사용하십시오
\includegraphics[width=0.98\textwidth]{figures/myfile}
이전에 생성 된 그림을 포함시키고 파일 확장자는 선택 사항입니다. - 이것을 실행하십시오
pdflatex
그리고 즐기십시오.
다른 팁
나는 추천 할 것이다 tikzDevice
라텍스 문서에 포함을위한 출력을 생성하기위한 패키지 :
http://cran.r-project.org/web/packages/tikzdevice/index.html
Tikzdevice는 R로 생성 된 그래픽을 Latex 패키지로 해석 할 수있는 코드로 변환합니다. tikz
. Tikz는 라텍스를위한 아주 멋진 벡터 드로잉 시스템을 제공합니다. Tikz 출력의 몇 가지 좋은 예는 다음과 같습니다.
그만큼 tikzDevice
다른 R 그래픽 장치와 같이 사용될 수 있습니다.
require( tikzDevice )
tikz( 'myPlot.tex' )
plot( 1, 1, main = '\\LaTex\\ is $\\int e^{xy}$' )
dev.off()
라텍스 매크로의 백 슬래시는 단일 백 슬래시를 탈출 문자로 해석함에 따라 두 배가되어야합니다. 라텍스 문서에서 플롯을 사용하려면 간단히 포함하십시오.
\include{path/to/myPlot.tex}
그만큼 pgfSweave
패키지가 포함되어 있습니다 Sweave
위의 단계를 처리 할 수있는 기능. 문서에 포함되어 있는지 확인하십시오 \usepackage{tikz}
라텍스 서문 어딘가에.
의 장점 tikz()
에 비해 기능 pdf()
이다:
그림의 레이블 및 캡션 글꼴은 항상 라텍스 문서에 사용 된 글꼴과 일치합니다. 이것은 당신의 문서를 통일 된 모양을 제공합니다.
수학적 주석을 만들기 위해 라텍스 조판체의 모든 힘이 있으며 그림 텍스트에서 임의의 라텍스 코드를 사용할 수 있습니다.
의 단점 tikz()
기능은 다음과 같습니다.
많은 구성 요소가있는 플롯을 처리하는 것은 잘 확정되지 않습니다. 이것들은 다음과 같습니다
persp()
큰 수학의 음모. 그래픽 요소의 전단 수는 라텍스가 크롤링되거나 메모리가 떨어질 수 있습니다.패키지는 현재 베타로 표시됩니다. 이는 저자가 설득력있는 이유를 찾으면 패키지의 인터페이스 또는 기능이 변경 될 수 있음을 의미합니다.
나는 내가 둘 다의 저자라는 것을 부인 함으로써이 글을 끝내야한다. tikzDevice
그리고 pgfSweave
내 의견이 편향 될 수 있도록 패키지. 그러나 저는 작년에 여러 학업 보고서를 작성하기 위해 두 패키지를 사용했으며 결과에 매우 만족했습니다.
사용을 고려하고 싶을 수도 있습니다 weave. Sweave 웹 사이트 (및 다른 곳)에는이를 위해 사용할 수있는 훌륭한 문서가 많이 있습니다. 매우 간단한 구문이 있습니다. <<>>=
그리고 @
.
다음은 간단한 예입니다 이렇게 보인다:
\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}
문서를 작성하려면 전화 할 수 있습니다 R CMD Sweave file.Rnw
또는 실행 Sweave(file)
R. 내에서
이것은 내가 찾을 수없는 질문의 속임수입니다.
하지만:http://r-forge.r-project.org/projects/tikzdevice/ -R 및 Tikz 출력http://www.rforge.net/pgfsweave/ Sweave를 통한 Tikz 코드.
Tikz를 사용하면 나머지 문서와 일치하는 모습을 보이며 라텍스를 사용하여 그래프의 모든 텍스트를 조립합니다.
편집하다 라텍스를 R 플롯으로 가져옵니다