[R] nesting scale_manual caracteristics in ggplot

2011-11-08 Thread Sigrid
Hi there,
I am having a little problem with combining three scale_manual commands in a
facet plot.  I am not able to combine the three different characteristics,
instead ending up with three different descriptions next to the graph for
the same geom.  I would like to see two separate labels (not three); one
describing lines 1-7 and the other 8-14. For each of the treatments (A-B) I
want a combination of color, line type and symbol.  How do I do this?

Here are my codes (Feel free to modify the example to make it easier to work
with. I was not able to do this while keeping the problem I wanted help
with)
df -structure(list(year = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L), treatment =
structure(c(1L, 
1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L, 4L, 4L, 4L, 5L, 5L, 5L, 6L, 6L, 
6L, 7L, 7L, 7L, 1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L, 4L, 4L, 4L, 
5L, 5L, 5L, 6L, 6L, 6L, 7L, 7L, 7L, 1L, 1L, 1L, 2L, 2L, 2L, 3L, 
3L, 3L, 4L, 4L, 4L, 5L, 5L, 5L, 6L, 6L, 6L, 7L, 7L, 7L, 1L, 1L, 
1L, 2L, 2L, 2L, 3L, 3L, 3L, 4L, 4L, 4L, 5L, 5L, 5L, 6L, 6L, 6L, 
7L, 7L, 7L, 1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L, 4L, 4L, 4L, 5L, 
5L, 5L, 6L, 6L, 6L, 7L, 7L, 7L, 1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L, 
3L, 4L, 4L, 4L, 5L, 5L, 5L, 6L, 6L, 6L, 7L, 7L, 7L, 1L, 1L, 2L, 
2L, 2L, 3L, 3L, 3L, 4L, 4L, 4L, 5L, 5L, 5L, 6L, 6L, 6L, 7L, 7L, 
7L, 1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L, 4L, 4L, 4L, 5L, 5L, 5L, 
6L, 6L, 6L, 7L, 7L, 7L), .Label = c(A, B, C, D, E, 
F, G), class = factor), total = c(135L, 118L, 121L, 64L, 
53L, 49L, 178L, 123L, 128L, 127L, 62L, 129L, 126L, 99L, 183L, 
45L, 57L, 45L, 72L, 30L, 71L, 123L, 89L, 102L, 60L, 44L, 59L, 
124L, 145L, 126L, 103L, 67L, 97L, 66L, 76L, 108L, 36L, 48L, 41L, 
69L, 47L, 57L, 167L, 136L, 176L, 85L, 36L, 82L, 222L, 149L, 171L, 
145L, 122L, 192L, 136L, 164L, 154L, 46L, 57L, 57L, 70L, 55L, 
102L, 111L, 152L, 204L, 41L, 46L, 103L, 156L, 148L, 155L, 103L, 
124L, 176L, 111L, 142L, 187L, 43L, 52L, 75L, 64L, 91L, 78L, 196L, 
314L, 265L, 44L, 39L, 98L, 197L, 273L, 274L, 89L, 91L, 74L, 91L, 
112L, 98L, 140L, 90L, 121L, 120L, 161L, 83L, 230L, 266L, 282L, 
35L, 53L, 57L, 315L, 332L, 202L, 90L, 79L, 89L, 67L, 116L, 109L, 
44L, 68L, 75L, 29L, 52L, 52L, 253L, 203L, 87L, 105L, 234L, 152L, 
247L, 243L, 144L, 167L, 165L, 95L, 300L, 128L, 125L, 84L, 183L, 
88L, 153L, 185L, 175L, 226L, 216L, 118L, 118L, 94L, 224L, 259L, 
176L, 175L, 147L, 197L, 141L, 176L, 187L, 87L, 92L, 148L, 86L, 
139L, 122L), country = structure(c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L 
), .Label = c(high, low), class = factor)), .Names = c(year, 
treatment, total, country), class = data.frame, row.names = c(NA, 
-167L))


lines - structure(list(`Line #` = 1:14, country = structure(c(2L, 2L, 2L,
2L,2L,2L,2L,1L, 1L,1L,1L,1L,1L,1L), .Label = c(high, low), class =
factor),treatment = structure(c(1L, 2L, 3L, 4L, 5L, 6L, 7L,1L, 2L,
3L,4L,5L,6L,7L), .Label = c(A, B, C,D, E, F,G,H ), class =
factor), Intercept = c(81.47, 31.809,69.892,82.059,106.392,45.059,38.809,
67.024, 17.357, 105.107,79.191,91.357,5.691,24.357), Slope = c(47.267,
20.234,33.717,14.667,13.434,25.817,21.967, 47.267, 20.234,
33.717,14.667,13.434,25.817,21.967)), .Names = c(Line #, country, 
treatment, Intercept, Slope), class = data.frame, row.names = c(NA, 
-14L))

ggplot(data = df, aes(x = year, y = total, colour = treatment,
linetype=treatment)) + 
geom_point(aes(shape = treatment)) +
  facet_wrap(~country) + 
scale_colour_manual(breaks=c('A','B','C','D','E','F','G'),
values=c('A'='black','B'='black', 'C'='grey','D'='grey',
'E'='red','F'='grey', 'G'='red'),  labels=c('A: Line 1','B: Line 2','C:
Line3','D: Line 4', 
'E: Line 5 ','F:Line 6','G:Line 7'))+
scale_linetype_manual(breaks=c('A','B','C','D','E','F','G'),

Re: [R] nesting scale_manual caracteristics in ggplot

2011-11-08 Thread Dennis Murphy
Hi:

The problem is that you use different sets of labels in each
scale_*_manual. To get all of the scales to merge into one, you need
to have the same title, same breaks and same labels for the legend.
This gets you a single legend:

ggplot(data = df, aes(x = year, y = total, colour = treatment,
  linetype=treatment)) +
geom_point(aes(shape = treatment)) +
facet_wrap(~country) +
scale_colour_manual(breaks=c('A','B','C','D','E','F','G'),
values=c('A'='black','B'='black', 'C'='grey',
  'D'='grey','E'='red','F'='grey', 'G'='red'),
labels=c('A: Line 1','B: Line 2','C: Line3','D: Line 4',
 'E: Line 5','F: Line 6','G: Line 7')) +
scale_linetype_manual(breaks=c('A','B','C','D','E','F','G'),
values=c('A'='solid','B'='dotted', 'C'='solid','D'='dashed',
 'E'='dashed','F'='dotted', 'G'='dotted'),
labels=c('A: Line 1','B: Line 2','C: Line3','D: Line 4',
 'E: Line 5','F: Line 6','G: Line 7')) +
scale_shape_manual(breaks=c('A','B','C','D','E','F','G'),
labels=c('A: Line 1','B: Line 2','C: Line3','D: Line 4',
 'E: Line 5','F: Line 6','G: Line 7'),
values = c(0, 1, 2, 3, 4, 5, 6)) +
theme_bw() +
geom_abline(aes(intercept = Intercept, slope = Slope,
colour = treatment, linetype=treatment),
data = lines)

In your original, you had different line numbers as labels in
scale_colour_manual() and scale_shape_manual(). If you want to
maintain that, then you'll have to have separate legends for color and
shape.

HTH,
Dennis

On Tue, Nov 8, 2011 at 11:22 AM, Sigrid s.stene...@gmail.com wrote:
 Hi there,
 I am having a little problem with combining three scale_manual commands in a
 facet plot.  I am not able to combine the three different characteristics,
 instead ending up with three different descriptions next to the graph for
 the same geom.  I would like to see two separate labels (not three); one
 describing lines 1-7 and the other 8-14. For each of the treatments (A-B) I
 want a combination of color, line type and symbol.  How do I do this?

 Here are my codes (Feel free to modify the example to make it easier to work
 with. I was not able to do this while keeping the problem I wanted help
 with)
 df -structure(list(year = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L,
 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L), treatment =
 structure(c(1L,
 1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L, 4L, 4L, 4L, 5L, 5L, 5L, 6L, 6L,
 6L, 7L, 7L, 7L, 1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L, 4L, 4L, 4L,
 5L, 5L, 5L, 6L, 6L, 6L, 7L, 7L, 7L, 1L, 1L, 1L, 2L, 2L, 2L, 3L,
 3L, 3L, 4L, 4L, 4L, 5L, 5L, 5L, 6L, 6L, 6L, 7L, 7L, 7L, 1L, 1L,
 1L, 2L, 2L, 2L, 3L, 3L, 3L, 4L, 4L, 4L, 5L, 5L, 5L, 6L, 6L, 6L,
 7L, 7L, 7L, 1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L, 4L, 4L, 4L, 5L,
 5L, 5L, 6L, 6L, 6L, 7L, 7L, 7L, 1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L,
 3L, 4L, 4L, 4L, 5L, 5L, 5L, 6L, 6L, 6L, 7L, 7L, 7L, 1L, 1L, 2L,
 2L, 2L, 3L, 3L, 3L, 4L, 4L, 4L, 5L, 5L, 5L, 6L, 6L, 6L, 7L, 7L,
 7L, 1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L, 4L, 4L, 4L, 5L, 5L, 5L,
 6L, 6L, 6L, 7L, 7L, 7L), .Label = c(A, B, C, D, E,
 F, G), class = factor), total = c(135L, 118L, 121L, 64L,
 53L, 49L, 178L, 123L, 128L, 127L, 62L, 129L, 126L, 99L, 183L,
 45L, 57L, 45L, 72L, 30L, 71L, 123L, 89L, 102L, 60L, 44L, 59L,
 124L, 145L, 126L, 103L, 67L, 97L, 66L, 76L, 108L, 36L, 48L, 41L,
 69L, 47L, 57L, 167L, 136L, 176L, 85L, 36L, 82L, 222L, 149L, 171L,
 145L, 122L, 192L, 136L, 164L, 154L, 46L, 57L, 57L, 70L, 55L,
 102L, 111L, 152L, 204L, 41L, 46L, 103L, 156L, 148L, 155L, 103L,
 124L, 176L, 111L, 142L, 187L, 43L, 52L, 75L, 64L, 91L, 78L, 196L,
 314L, 265L, 44L, 39L, 98L, 197L, 273L, 274L, 89L, 91L, 74L, 91L,
 112L, 98L, 140L, 90L, 121L, 120L, 161L, 83L, 230L, 266L, 282L,
 35L, 53L, 57L, 315L, 332L, 202L, 90L, 79L, 89L, 67L, 116L, 109L,
 44L, 68L, 75L, 29L, 52L, 52L, 253L, 203L, 87L, 105L, 234L, 152L,
 247L, 243L, 144L, 167L, 165L, 95L, 300L, 128L, 125L, 84L, 183L,
 88L, 153L, 185L, 175L, 226L, 216L, 118L, 118L, 94L, 224L, 259L,
 176L, 175L, 147L, 197L, 141L, 176L, 187L, 87L, 92L, 148L, 86L,
 139L, 122L), country = structure(c(2L, 2L, 2L, 2L, 2L, 2L, 2L,
 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L,
 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
 1L, 1L, 1L, 2L, 2L, 2L, 2L, 

Re: [R] nesting scale_manual caracteristics in ggplot

2011-11-08 Thread Sigrid
Hi Dennis,

Thank you, it looks much better now the three characteristics are combined
in the label. However, I would like to keep two different sets of labels on
the side as I want to describe lines for each facet (high and low). Do you
think this is possible, without breaking up the characteristics again?

Cheers


--
View this message in context: 
http://r.789695.n4.nabble.com/nesting-scale-manual-caracteristics-in-ggplot-tp4017171p4017523.html
Sent from the R help mailing list archive at Nabble.com.

__
R-help@r-project.org mailing list
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.


Re: [R] nesting scale_manual caracteristics in ggplot

2011-11-08 Thread Dennis Murphy
As I mentioned earlier, if you use different labels/breaks/titles for
the legends, you'll get separate legends in a ggplot. I'm assuming you
want to keep your original labels in scale_shape_manual(); there's no
problem if you do that. The code I provided showed you how to align
all three legends; if you want one to be different, change its labels
and a second legend will appear. Couldn't be simpler ;)

Dennis

On Tue, Nov 8, 2011 at 1:20 PM, Sigrid s.stene...@gmail.com wrote:
 Hi Dennis,

 Thank you, it looks much better now the three characteristics are combined
 in the label. However, I would like to keep two different sets of labels on
 the side as I want to describe lines for each facet (high and low). Do you
 think this is possible, without breaking up the characteristics again?

 Cheers


 --
 View this message in context: 
 http://r.789695.n4.nabble.com/nesting-scale-manual-caracteristics-in-ggplot-tp4017171p4017523.html
 Sent from the R help mailing list archive at Nabble.com.

 __
 R-help@r-project.org mailing list
 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.


__
R-help@r-project.org mailing list
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.