[R] sizing non-vector point shapes in ggplot2
Paul Murrell
p.murrell at auckland.ac.nz
Mon Jun 16 22:32:51 CEST 2008
Hi
hadley wickham wrote:
> On Mon, Jun 16, 2008 at 7:52 AM, mfrumin <michael at frumin.net> wrote:
>> Dear all,
>>
>> With normal plotting, one can size a set of points in a plot using a vector
>> argument to cex in the points() function. This works whether you are using
>> one of the standard R symbols (i.e. 19+) or some ascii symbol, such as '/'
>>
>> eg:
>> plot(1:10, 1:10, type='n');
>> points(1:10, 1:10, cex = 1:10, pch = '/')
>>
>> Trying to make the transition to ggplot2, I find that the aesthetic size
>> mapping does not apply if i do geom_point(..., shape='/') -- the points show
>> up looking like '/' but they are not sized. Is there anything to do about
>> this?
>>
>> eg:
>> ggplot(data = data.frame(x = 1:10, y = 1:10, size = 1:10), aes(x = x, y =
>> y)) + geom_point(mapping = aes(size = size), shape = '/')
>>
>> the plot that I'm making really needs a vertically oriented mark, not a
>> round-ish point/square/triangle that takes up a lot of area. am I totally
>> out of luck?
>
> Hmmm, I'd never noticed this "feature" of grid before. To size the
> points, I'm using the size argument of grid.points, which doesn't seem
> to affect the size of character based plotting symbols (because the
> are using the fontsize graphical parameter). I've cc'd Paul on this
> email so he can confirm whether this is a bug or by design.
Looks like a bug to me. There are difficulties with attempting to make
text a specific size because the "point size" of a font is a very rough
guideline, however, we should be able to do something a little better
than totally ignoring the 'size' argument :)
Paul
> Regardless, you can make ggplot size the symbols correctly by running
> the following code:
>
> GeomPoint$draw <- function(., data, scales, coordinates, ...) {
> with(coordinates$transform(data),
> ggname(.$my_name(), pointsGrob(x, y, size=unit(size, "mm"), pch=shape,
> gp=gpar(col=colour, fill = fill, fontsize = size * .pt)))
> )
> }
>
> Hadley
>
--
Dr Paul Murrell
Department of Statistics
The University of Auckland
Private Bag 92019
Auckland
New Zealand
64 9 3737599 x85392
paul at stat.auckland.ac.nz
http://www.stat.auckland.ac.nz/~paul/
More information about the R-help
mailing list