[R] Help with removing extra legend elements in ggplot

David Winsemius dwinsemius at comcast.net
Wed Nov 20 01:12:09 CET 2013


On Nov 19, 2013, at 3:44 PM, Matthew Van Scoyoc wrote:

> I can't get the fine tuning right with my legend. I get an extra legend
> element "10" which is the point size in my plot. Can someone help me get rid
> of this extra element? Additionally I would also like to reduce the size of
> the legend.
> 
> If you want to reproduce my figure you can  download my data in csv format
> here
> <https://github.com/scoyoc/EcoSiteDelineation/blob/master/VegNMDS_scores.csv
>> 
> .
> 
> Here is my code...
> 
>> veg.nmds.sc = read.csv("VegNMDS_scores.csv", header = T)
> 
>> nmds.fig = ggplot(data = veg.nmds.sc, aes(x = NMDS1, y = NMDS2))
>> nmds.fig + geom_point(aes(color = VegType, shape = VegType, size = 10)) +
>> scale_colour_manual(name = "Vegetation Type",
>>                     values = c("blue", "magenta", "gray50", "red",
>> "cyan3",
>>                                "green4", "gold")) +
>> scale_shape_manual(name = "Vegetation Type", values = c(15, 16, 17, 18,
>> 15, 16, 17)) +
>> theme_bw() +
>> theme(panel.background = element_blank(), panel.grid.major =
>> element_blank(),
>>       panel.grid.minor = element_blank(),
>>       legend.key = element_rect(color = "white")
>>       )
> 
> I have been messing around with
>> theme(..., legend.key.size = unit(1, "cm"))
> but I keep getting the error "could not find function unit". I'm not sure
> why, isn't unit supposed to be part of the legend.key argument?

Try this workaround to what sounds like a bug:

library(grid)

# then repeat the call.

-- 

David Winsemius
Alameda, CA, USA



More information about the R-help mailing list