[R] Help with removing extra legend elements in ggplot
djmuser at gmail.com
Wed Nov 20 01:52:33 CET 2013
The additional element comes from this code:
geom_point(aes(color = VegType, shape = VegType, size = 10))
Take the size argument outside the aes() statement and the legend will
geom_point(aes(color = VegType, shape = VegType), size = 10)
The aes() statement maps a variable to a plot aesthetic. In this case
you're mapping VegType to color and shape. You want to *set* the size
aesthetic to a constant value, and that is done by assigning the value
10 to the size aesthetic outside of aes().
On Tue, Nov 19, 2013 at 4:35 PM, Matthew Van Scoyoc <scoyoc at gmail.com> wrote:
> No dice. I still get the "10" legend element.
> Thanks for the quick reply.
> Matthew Van Scoyoc
> Graduate Research Assistant, Ecology
> Wildland Resources Department <http://www.cnr.usu.edu/wild/> & Ecology
> Center <http://www.usu.edu/ecology/>
> Quinney College of Natural Resources <http://cnr.usu.edu/>
> Utah State University
> Logan, UT
> <mvanscoyoc at aggiemail.usu.edu>https://sites.google.com/site/scoyoc/
> Think SNOW!
> On Tue, Nov 19, 2013 at 5:12 PM, David Winsemius <dwinsemius at comcast.net>wrote:
>> 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
>> > of this extra element? Additionally I would also like to reduce the size
>> > the legend.
>> > If you want to reproduce my figure you can download my data in csv
>> > here
>> > <
>> > .
>> > 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:
>> # then repeat the call.
>> David Winsemius
>> Alameda, CA, USA
> [[alternative HTML version deleted]]
> R-help at r-project.org mailing list
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
More information about the R-help