2014-11-04 14 views
6

sto cercando di ottenere un'etichetta su una freccia che dice:Come ottenere un'espressione (cos (alpha)) in un'etichetta?

|| x || cos (alpha)

Ma non riesco a farlo funzionare.

Posso scrivere il ||x|| senza problemi e il cos (alpha) senza problemi, ma non so come ottenerli in una dichiarazione.

Qualche idea?

Ecco il mio codice:

library(plotrix) 
library(shape) 

xlim <- c(-2, 6) 
ylim <- c(-2, 6) 
plot(0, type = "n", xlim = xlim, ylim = ylim,asp=1) 


Arrows(1,1,5,1) 
boxed.labels(3,1,labels="||x|| cos (a)",border=NA,xpad=1,ypad=1) 


Arrows(1,2,5,2) 
boxed.labels(3,2,labels=expression(cos (alpha)),border=NA,xpad=1,ypad=1) 

risposta

9

Studio help("plotmath") e la demo.

plot(0, type = "n", xlim = xlim, ylim = ylim,asp=1) 
text(2,1,labels=expression(group("||", x, "||") %.% cos(alpha)),adj=c(1.2,-1.5)) 
text(2,3,labels=expression(group("||", x, "||") ~ cos(alpha)),adj=c(1.2,-1.5)) 

resulting plot

+0

Grazie! Funziona perfettamente! – Martin

2

Passando elementi incollati al expression opere per questo. Per esempio:

plot.new() 
plot.window(xlim=c(0, 1), ylim=c(0, 1)) 
text(0.5, 0.5, expression(paste("||x|| cos(", alpha, ")"))) 

enter image description here

5

È inoltre possibile utilizzare bquote:

plot(1, type = "n") 
text(1, 1, bquote("||x||" ~ cos(alpha))) 

enter image description here