레이블에 지수가 포함되도록하려고합니다. 여기 코드는 내가플롯 텍스트에서 표현식 사용 - 이름 대신 변수 값 인쇄
vall = format(cor(x,y)*cor(x,y),digits=3)
eq <- expression(paste(R^2," = ",vall,sep=""))
text(legend.x,legend.y,eq,cex=1,font=2)
해야하지만 텍스트가 단순히 내가 실제에 Vall이 (가 아닌 텍스트 "에 Vall")
레이블에 지수가 포함되도록하려고합니다. 여기 코드는 내가플롯 텍스트에서 표현식 사용 - 이름 대신 변수 값 인쇄
vall = format(cor(x,y)*cor(x,y),digits=3)
eq <- expression(paste(R^2," = ",vall,sep=""))
text(legend.x,legend.y,eq,cex=1,font=2)
해야하지만 텍스트가 단순히 내가 실제에 Vall이 (가 아닌 텍스트 "에 Vall")
bquote()
시도를 보여 얻는 방법이
모양입니다 예를 들면 다음과 같습니다
set.seed(1)
vall <- format(rnorm(1),digits=3)
eq <- bquote(bold(R^2 == .(vall)))
sq <- seq(0, 1, by = 0.1)
plot(sq, sq, type = "n")
text(0.5, 0.5, eq)
귀하의 예제가 작동하지 않는 이유는 R 결코 vall
을 평가 끝나는 없다는 것입니다 :
> eq2 <- expression(paste(R^2," = ",vall,sep=""))
> eq2
expression(paste(R^2, " = ", vall, sep = ""))
plotmath이의 무언가를 만들기 위해 시도하지만 본질적으로 vall
그대로 촬영됩니다.
대개 plotmath 표현식에 paste()
이 필요하지 않은 경우 표준 연산자와 레이아웃 연산자를 사용하여 표현식을 작성할 수 있습니다. 예를 들어, 생산 한 귀하의 예제 (평가되지 않은 vall
)에 해당 표현을 위해, 당신이 정말로 필요로하는 모든입니다
expression(R^2 == vall)
bquote()
는 식의 값으로 대체 객체가 할 수있는 한 가지 방법입니다. 원하는 개체를 .()
의 값으로 바꿉니다. 그런 다음 R은 객체를 찾고 값을 가져 와서 표현식에 삽입합니다.
을 참조하십시오.이 인터페이스를 다른 인터페이스로 대체 할 수도 있습니다.
중복 되었습니까? http://stackoverflow.com/questions/4973898/combining-paste-and-expression-functions-in-plot-labels –
나는이 글이 중복되어 있다고 생각하지 않지만이 글의 제목은 약간 오도하는 내용이다. 지수가 실제로 문제가 아닌 것처럼 보이는 문제를 반영하기 위해 제목을 다시 포맷하는 것이 좋습니다. –
'sep = ""'여기서는 아무 것도하지 않습니다 (빈 문자열 추가). 이것은'base :: paste'가 아니라'plotmath'입니다. 여기에 상처를주지는 않으나 비어 있지 않은 문자열이 지정되면 원하는 것을하지 않습니다. –