Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get an expression(cos (alpha)) into a labels?

I'm trying to get an Label on an arrow that says:

||x|| cos (alpha)

But I can't seem to make it work.

I can write the ||x|| without problems, and the cos (alpha) without problems, but I don't know how to get them into one statement.

Any ideas?

Here is my code:

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)
like image 683
Martin Avatar asked Nov 04 '14 09:11

Martin


3 Answers

Study help("plotmath") and the 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

like image 135
Roland Avatar answered Nov 17 '22 03:11

Roland


You can also use bquote:

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

enter image description here

like image 45
Sven Hohenstein Avatar answered Nov 17 '22 04:11

Sven Hohenstein


Passing pasted elements to expression works for this. For example:

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

like image 2
jbaums Avatar answered Nov 17 '22 04:11

jbaums