Hi


Deepayan Sarkar wrote:
On Thursday 26 August 2004 11:41, Martin Maechler wrote:

"Simon" == Simon Cullen <[EMAIL PROTECTED]>
   on Thu, 26 Aug 2004 15:30:06 +0100 writes:

   Simon> On Thu, 26 Aug 2004 15:24:33 +0200, Trenkler,
   Simon> Dietrich <[EMAIL PROTECTED]>

   Simon> wrote:
   >> [Dietrich Trenkler]
   >>
   >>
   >> plot(rnorm(10),xlab=expression(bold(x)),ylab=expression(bold(y)))

   Simon> Not quite what I am looking for, I'm afraid. \mathbb
   Simon> gives "blackboard" fonts - the capitals with two
   Simon> vertical parallel lines in them that are used for the
   Simon> Reals, Complex numbers etc.

yes (and Dieter confused \mathbb{} with \mathbf{}).

R's builtin plotmath utilities can't do this directly.
A workaround would be similar to what we used to do in LaTeX 2.09
times (before \mathbb{} was standardly available):

     { "I", <negative space>, "R" }

Whereas with (La)TeX, a macro definition was relatively
easy for the above, it might be a bit harder / more ugly with
current R builtins, for one because I don't think ``plotmath''
has a concept of <negative space>.
1)  A really ugly hack would work with  text() -- not quite useful
  if you'd like these in 'xlab' etc.

2)  A potentially much nicer scheme might be to use  "grid" instead of
  oldstyle  "graphics" :  There one could construct a  "grob"
  (graphical object) for the '|R' symbol that one could should be
  pass to other functions -- though it may need some tweaking
  before a function like (pkg lattice's) xyplot() would accept
  a grob for xlab [instead of only a character or expression].


Interesting thought. Should be almost trivial to implement.

Currently, legends (sort of generalized key-s in the Trellis context) can be grobs, e.g.

bbR <- textGrob(c("I", "R"), x = 0.7 * c(-1, 1), default.units = "mm", vp = viewport(h=0, w=0))

xyplot(1 ~ 1, xlab = NULL, legend = list(bottom = list(fun = bbR)))


Cool :) An alternative hack would be to treat this as an annotation of the lattice panel. For example ...

xyplot(1 ~ 1, xlab = "") # NOTE "" not NULL
downViewport("panel.1")
pushViewport(viewport(clip="off")) # to be able to draw outside panel
grid.text(c("I", "R"), y=unit(-2, "lines"),
          x=unit(0.5, "npc") - 0.5*stringWidth(c("I", "")),
          just="left")
upViewport(0)

...  (using stringWidth makes the hack scale with font size).

In this case though, I think the ideal solution would be just to use a font that has the desired character. On Windows this should be doable via the file RHOME\etc\Rdevga and something like mtext(..., font=<some large number>) [assuming that the appropriate font can be found and installed].

Paul
--
Dr Paul Murrell
Department of Statistics
The University of Auckland
Private Bag 92019
Auckland
New Zealand
64 9 3737599 x85392
[EMAIL PROTECTED]
http://www.stat.auckland.ac.nz/~paul/

______________________________________________
[EMAIL PROTECTED] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to