2014-12-03 3 views
0

Knitr 문서에서 일부 LaTeX 코드를 출력하는 사용자 정의 레이블 기능을 사용하고 있습니다. 여기서는 문제를 설명하기 위해 유용하지 않습니다. 일반 플롯에서는 모든 것이 잘됩니다. R은 출력의 메트릭을 정확하게 추측하고 적절한 공간 (중간 플롯)을 유지합니다. 그러나 패싯을 사용할 때 LaTeX이 아닌 출력 장치 (마지막 플롯)에서 예상하는 것처럼 LaTeX (첫 번째 플롯)로 해석하지 않고 이러한 문자열을 단순한 문자열로 사용합니다.y- 틱과 y- 레이블 사이의 큰 공간

ggplot을 으로 항상 알리는 방법은 내 라벨을 LaTeX로 해석하고 스마트 메트릭을 사용합니까?

\documentclass{beamer} 
\setbeamertemplate{navigation symbols}{} 
\usepackage{siunitx} 
\begin{document} 
\begin{frame} 
<<dev='tikz', echo=F, fig.height=1.5>>= 
library(ggplot2) 

mylabel <- function() { 
    function(xs) { sprintf("\\ensuremath{\\num{%g}}",xs) } 
} 
data <- data.frame(x=c(1,10), y=c(1,10), kind=c("a","a")) 

ggplot(data,aes(x=x,y=y)) + geom_point() + 
    scale_y_continuous(labels=mylabel()) + 
    facet_grid(~ kind) 
@ 

<<dev='tikz', echo=F, fig.height=1.5>>= 
ggplot(data,aes(x=x,y=y)) + geom_point() + 
    scale_y_continuous(labels=mylabel()) 
@ 

<<echo=F, fig.height=1.5>>= 
ggplot(data,aes(x=x,y=y)) + geom_point() + 
    scale_y_continuous(labels=mylabel()) 
@ 
\end{frame} 
\end{document} 

enter image description here

답변

0

이 도움이된다면 정말 모르겠어요 ...

하지만 당신은이 게시물을 본 적 있어요?

scale_y_continuous(labels=c(expression(paste(_________)), expression(paste(_________)))) 

______는 표현이 원하는 곳 : How to use subscripts in ggplot2 legends [R]

은 사용 시도가?

+0

불행히도 나는 (예를 들어'1.2e5'를 적절한 형식으로 보여 주면서 처리하는 질문에서'\ num'과 같은) 사용자 정의 TeX 코드를 사용하고 싶기 때문에 사용할 수 없습니다. 복제해야하는 것은 짜증이납니다. R) – pascal

+0

나는 정말로 당신이 원하는 것을 많이 이해하지 못한다. https://github.com/crowding/analysis/blob/master/occlusion.R –