From: Jonathan Baron <baron_at_psych.upenn.edu>

Date: Wed, 17 Oct 2007 11:06:10 -0400

{

x2 <- x2-x1; y2 <- y2-y1

v1 <- viewport(x=x1,y=y1,width=sqrt(x2^2+y2^2),

Brack(.25,.50,.95,.3,.03)

Brack(.24,.3,.24,.7,.03)

#Brack(.25,.497,.25,.3,.03)

grid.line.to(.65,.135,arrow=arrow(length=unit(.015,"npc")))

Date: Wed, 17 Oct 2007 11:06:10 -0400

I used the wrong address. This was meant as a reply to another post.

On 10/17/07 10:55, thomas.schwander_at_mvv.de wrote:

*> Hi Jonathan,
**>
**> I read your post in the R-Help. Did you get rid off the problem? I'm standing inf
*

> ront of the same problem... If you've got an answer to me to drae a curly bracket,

> could you please be so kind to tell me who you did?

I missed the beginning of this thread, but perhaps this is an answer.
Look at the Brack function. The result is in the Brown article here:
http://journal.sjdm.org/vol1.2.htm

(near the end).

library(grid)

# function to draw curly braces in red # x1...y2 are the ends of the brace # for upside down braces, x1 > x2 and y1 > y2Brack <- function(x1,y1,x2,y2,h)

{

x2 <- x2-x1; y2 <- y2-y1

v1 <- viewport(x=x1,y=y1,width=sqrt(x2^2+y2^2),

height=h,angle=180*atan2(y2,x2)/pi, just=c("left","bottom"),gp=gpar(col="red"))pushViewport(v1)

grid.curve(x2=0,y2=0,x1=.125,y1=.5,curvature=.5) grid.move.to(.125,.5) grid.line.to(.375,.5) grid.curve(x1=.375,y1=.5,x2=.5,y2=1,curvature=.5) grid.curve(x2=1,y2=0,x1=.875,y1=.5,curvature=-.5) grid.move.to(.875,.5) grid.line.to(.625,.5) grid.curve(x2=.625,y2=.5,x1=.5,y1=1,curvature=.5)popViewport()}

grid.newpage() grid.move.to(.25,.3) grid.line.to(.25,.7) grid.line.to(.95,.3) grid.line.to(.25,.3) grid.move.to(.25,.5) grid.line.to(.95,.3,gp=gpar(lty="dashed")) grid.move.to(.25,.7) grid.line.to(.6,.3,gp=gpar(lty="dashed")) Brack(.95,.29,.25,.29,.03) Brack(.255,.71,.955,.31,.03) Brack(.25,.70,.6,.3,.03)

Brack(.25,.50,.95,.3,.03)

Brack(.24,.3,.24,.7,.03)

#Brack(.25,.497,.25,.3,.03)

# What follows is not so elegant,

# but it illustrates the use of arrow().

grid.text("Room for improvement in logic",x=.1,y=.5,rot=90) grid.move.to(.125,.45) grid.line.to(.125,.55,arrow=arrow(length=unit(.015,"npc"))) grid.text("Room for improvement in elicitation",x=.6,y=.16)grid.move.to(.55,.135)

grid.line.to(.65,.135,arrow=arrow(length=unit(.015,"npc")))

grid.text("NOW",x=.19,y=.5,rot=90) grid.text("NOW",x=.6,y=.23) grid.text("NOW",x=.63,y=.555,rot=180*atan2(-4,7)/pi,) grid.text("After E",x=.465,y=.53,rot=180*atan2(-4,3.5)/pi,) grid.text("After L",x=.615,y=.44,rot=180*atan2(-2,7)/pi,)

-- Jonathan Baron, Professor of Psychology, University of Pennsylvania Home page: http://www.sas.upenn.edu/~baron Editor: Judgment and Decision Making (http://journal.sjdm.org) ______________________________________________ R-help_at_r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.Received on Wed 17 Oct 2007 - 14:58:29 GMT

Archive maintained by Robert King, hosted by
the discipline of
statistics at the
University of Newcastle,
Australia.

Archive generated by hypermail 2.2.0, at Thu 25 Oct 2007 - 11:33:06 GMT.

*
Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help.
Please read the posting
guide before posting to the list.
*