[R] degree sign
David Winsemius
dwinsemius at comcast.net
Mon Mar 21 03:02:08 CET 2016
It's a bit puzzling that neither of my replies to your postings have appeared on the R help list Archive. I normally reply-all to questions and despite the fact that you are sending in a formatted style, I have my client configured to reply in plain text. My client "Sent folder" has copies and the email addressees include r-help at r-project.org. I suppose this is a further "test" posting sent as reply-to-all. If it does not appear, then perhaps I can track down the problem by examining headers.
--
David.
> On Mar 19, 2016, at 9:44 PM, Cathy Lee Gierke <leegi001 at umn.edu> wrote:
>
> Wonderful! That works.
>
> Cathy Lee Gierke
>
> "We are what we repeatedly do. Excellence, then, is not an act, but a habit." Aristotle
>
> On Sat, Mar 19, 2016 at 6:44 PM, David Winsemius <dwinsemius at comcast.net> wrote:
>
> > On Mar 19, 2016, at 1:58 PM, Cathy Lee Gierke <leegi001 at umn.edu> wrote:
> >
> > My actual plot call is long and complicated, so I tried to simplify it in the last message.....here is the actual, using David's proposed solution. It is not working. What I want to see printed is the following (with degree symbols after 73 and 296).
>
>
> > Since I reuse this string in various ways, I would like to build a variable to hold it that I can plug into plots when needed:
> > Hours from Reference Time: 201302060000
> > Model span = 24.00 hrs o −73 b −296
>
> The degree-object in plotmath needs to be placed within an R object of class expression.
>
> For multi-line expression delivery in the outer portions of a graphic, I would recommend using mtext:
>
> -------------
>
> myexpr <- expression("Hours from Reference Time: 201302060000",
> "Model span = 24.00 hrs o −73"*degree*phantom(" ")*"b −296"*degree)
>
> plot(1,1)
> mtext(myexpr[[1]] , side=1,line=2)
> mtext(myexpr[[2]] , side=1,line=3)
>
> >
> > So I set xlab=printXlab value with David's solution, below, in the plot (this is the actual printXlab value, instead of the simplified one):
> >
> > xl = bquote( .(Orthophase[i,j] )*degree )
> > printXlab<-paste("Hours from Reference Time:",RefTimeString,"Model span =",format(magDt,digits=3,nsmall=2),"hrs o",Orthophase[i,j],xl," b",Bathyphase[i,j])
>
> If you are tryng to substitute
> >
> > and here is the result I get (weird duplicates....but most importantly, no degree symbol:
> >
> >
> > Hours from Reference Time: 201302060000 Model span = 24.00 hrs o −73 * Hours from Reference Time: 201302060000 Model span = 24.00 hrs o −73 −73 Hours from Reference Time: 201302060000 Model span = 24.00 hrs o −73 degree
> >
> > b −296 b −296
> >
> > b −296
> >
> > ----------------------
> > So, I tried to set xlab as Uwe's proposal (without paste, and without commas):
> > printXlab<-expression("Hours from Reference Time:" RefTimeString "Model span =" format(magDt,digits=3,nsmall=2) "hrs o" * Orthophase[i,j] * degree" b"* Bathyphase[i,j] * degree) # degree~C
>
> You may want to use substitute or bquote to create an expression that has evaluated values (if you will) for:
>
> Orthophase[i,j]
> Bathyphase[i,j]
>
> Something like this
>
> orth=3.56
> bathy=5.87
> RefTimeStr <- "test"
> magDT <- "1999-01-01";
> printXlab <- list( bquote("Hours from Reference Time:"~ .(RefTimeStr)),
> bquote("Model span ="*.(format(magDt,digits=3,nsmall=2))* " hrs o" * .(orth) * degree*"C b"* .(bathy) * degree*C))
> plot(1,1, xlab="")
> mtext(sapply( printXlab, as.expression) , side=1,
> line=2:3)
>
>
> --
> David.
>
> >
> > I get "unexpected symbol at ^RefTimeStrng" so it doesn't like the missing commas.
> >
> > Then I try it with commas, except around the degree parts:
> > printXlab<-expression("Hours from Reference Time:" RefTimeString "Model span =" format(magDt,digits=3,nsmall=2) "hrs o" * Orthophase[i,j] * degree" b"* Bathyphase[i,j] * degree) # degree~C
> >
> > It runs, but here is what prints:
> > Hours from Reference Time:
> >
> > Then I try with all commas replaced by *:
> > printXlab<-expression("Hours from Reference Time:"* RefTimeString *"Model span =" * format(magDt,digits=3,nsmall=2) * "hrs o" * Orthophase[i,j] * degree * " b"* Bathyphase[i,j] * degree * " ") # degree~C
> >
> > And I get degree signs (sort of)!! But the rest is wrong. The variables are not evaluated:
> > Hours from Reference Time:RefTimeStringModel span =format(magDt, 3, 2)hrs oOrthophasei° bBathyphasei°
> >
> > I don't really understand what state is required for the degrees to print....
>
> >
> > Cathy Lee Gierke
> >
> > "We are what we repeatedly do. Excellence, then, is not an act, but a habit." Aristotle
> >
> > On Sat, Mar 19, 2016 at 2:04 AM, David Winsemius <dwinsemius at comcast.net> wrote:
> >
> > > On Mar 18, 2016, at 1:58 PM, Cathy Lee Gierke <leegi001 at umn.edu> wrote:
> > >
> > > I have searched and tried many things but cannot get anything to work. I
> > > just want to print out a degree sign after a the Orthophase number.
> > >
> > > The following list of "xl" values are all ones I have tried. Granted they
> > > are not what I want, but I have tried them all, and none of them print out
> > > a degree symbol...
> > >
> > > # xl = expression(paste("Orthophase [", {
> > > # }^o, "]"))
> > > #xl<-~degree~C
> > > #xl<-parse(text = ~degree)
> > > #xl<-parse(text = paste(" ", "~degree", sep = ""))
> > > #xl<-expression(~degree)
> > > xl <- parse(text = paste(Orthophase[i,j], "*degree ~ S",
> > > sep = ""))
> > >
> > >
> > > printXlab<-paste("Orthophase ",Orthophase[i,j],xl,"
> > > ")
> > >
> > > plot(MyData$time.hour[plotData],newData[plotData],type="l", xaxt="n",
> > > xlab=printXlab,.....
> >
> > Ya' know Cathy. It would be nice if you would say what it was that you actually wanted to do rather than offering multiple failures This does not throw an error:
> >
> > xl = expression(paste("Orthophase [", {
> > }^o, "]"))
> > plot(1,1,type="l", xaxt="n", xlab=xl)
> >
> >
> >
> > But perhaps you want to pull in an evaluated result from an object in the workspace? This should work:
> >
> > Orthophase <- matrix( 4:1, 2)
> > i=1;j=1
> > xl = bquote( .(Orthophase [i,j] )*degree )
> > plot(1,1,type="l", xaxt="n",
> > xlab=xl)
> >
> > >
> > >
> > > Cathy Lee Gierke
> > >
> > > *"We are what we repeatedly do. Excellence, then, is not an act, but a
> > > habit." Aristotle*
> > >
> > > [[alternative HTML version deleted]]
> > >
> > > ______________________________________________
> > > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> > > 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.
> >
> > David Winsemius
> > Alameda, CA, USA
> >
> >
>
> David Winsemius
> Alameda, CA, USA
>
>
David Winsemius
Alameda, CA, USA
More information about the R-help
mailing list