2013-08-25 6 views
3

사용자가 제공 한 문자열과 고정 된 문자열을 플롯 제목에 붙여 넣으려고합니다.플롯 제목, 레이블 등의 문자열 및 표현

물론, 작동하는 간단한 경우 :

userTitle <- "user title" # Example 1 
fullTitle <- paste(userTitle, ": Results", sep = "") 
plot(1:10, main = fullTitle) 

그러나 사용자의 제목은 식을 포함하면 무엇? 다음은 내가 시도한 몇 가지 사항입니다.

# This works, but doesn't include the fixed string # Example 2 
userTitle <- expression(italic(Genus)~italic(species)) # EDIT: this was missing 
fullTitle <- bquote(.(userTitle)) 
plot(1:10, main = fullTitle) 

고정 된 문자열을 추가하십시오. 확실히 일을 몇 가지 :

fullTitle <- bquote(.(userTitle)~':'~Results) # Example 3 
plot(1:10, main = fullTitle) # title missing .(userTitle) 

fullTitle <- bquote(paste("Results:", .(userTitle))) # Example 4 
plot(1:10, main = fullTitle) # title missing .(userTitle) 

그러나이 예, 잘 here 작품에서 [편집 : 링크가 잘못된 질문이었다].

x<- 232323 
plot(1:10, main = bquote(paste(ARL[1], " curve for ", S^2, "; x=",.(x)))) 

예제 4는이 마지막 부분과 거의 비슷하지만 동일하게 동작하지 않습니다. bquote, expression, substitute의 조합이 너무 많아서 나는 많은 답을 보았습니다. 그러나 나는 정말 작은 것을 놓치고있을 가능성이 큽니다. 이 경우 사용자 문자열에 표현식이 포함 된 경우 사용자 문자열과 고정 문자열을 함께 얻는 방법에 대한 조언이 필요합니까? 감사. 식으로 지금

userTitle <- italic(Genus)~italic(species) 
plot(1, 1., main=substitute(userTitle*": Results" , 
           list(userTitle=userTitle))) 

을 그리고 :

+0

'fullTitle <- as.expression (bquote ((userTitle) ~. ""~ 결과))' – baptiste

+0

이것을 보면 ARL 또는 ARL [1]을 제공하지 않은 것 같습니다. 'as.expression'은 인자를 평가할 것입니다. –

+0

나는 이것을 통해 일하고 있고 "문제"를 얻지 못하고있다. 우리가 기대하지 못하는 이유를 설명 할 수 있도록 예상했던 것을 설명해야합니다. –

답변

3

나는 공식 그것을 할 수

userTitle <- expression(italic(Genus)~italic(species)) 
plot(1, 1, main= bquote(.(eval(userTitle))*":"~Results)) 
+0

고맙습니다. 나는 확실히 내가 뭔가를 놓치고 있어야한다고 생각했지만, 나는 그것이 정말로 조금 까다 롭다 고 생각한다. 특히, 당신의'표현'접근법에서'해야만하는 것이 정말 이상한 것 같습니다.(eval (userTitle))'대신'. (userTitle)'을 사용합니다. 알아 내서 고마워. 시행 착오로 찾았습니까? 그것은'bquote' 문서에는 없기 때문에 그것을 사용하는 예는 없습니다 (현재까지는!). –

+0

시행 착오. 어쨌든 나에게 도움이되는 문서는이 목적을 위해 전혀 쓸모가 없다. 해들리 위컴 (Hadley Wickham)은 자신의 초안에서 유용한 자료를 갖고 있지만, bquote에서 평가할 필요가있는 것은 정말 이상한 것처럼 보입니다. 과잉이라고 생각됩니다. –