[R] grey colored lines and overwriting labels i qqplot2
Brian Diggs
diggsb at ohsu.edu
Tue Jul 19 18:26:12 CEST 2011
On 7/18/2011 9:23 PM, Sigrid wrote:
> Hi
> I apologize for not providing reproducible codes more clearly, and I hope
> this will be more understandable.
>
> I have 14 lines (7 per facet that I would like to add). I will provide you
> with six of the lines from the data as that should enough data to work
> with, and also result in less plotting for all of us. These value are from a
> previously conducted ancova, so not based on simple linear regression.
>
> Line # Country Treatment Intercept Slope
> 1 Low A 81.47 47.267
> 2 Low B 31.809 20.234
> 3 Low C 69.892 33.717
> 4 High A 67.024 47.267
> 5 High B 17.357 20.234
> 6 High C 105.107 33.717
Is this (above) a data.frame? If not, can you get it into one? If so,
then adding all the lines at once is easy. Lets say that the data.frame
is named "lines" (Note that I changed the capitalization of country and
treatment to match what was in test.)
> lines
Line # country treatment Intercept Slope
1 1 Low A 81.470 47.267
2 2 Low B 31.809 20.234
3 3 Low C 69.892 33.717
4 4 High A 67.024 47.267
5 5 High B 17.357 20.234
6 6 High C 105.107 33.717
> dput(lines)
structure(list(`Line #` = 1:6, country = structure(c(2L, 2L,
2L, 1L, 1L, 1L), .Label = c("High", "Low"), class = "factor"),
treatment = structure(c(1L, 2L, 3L, 1L, 2L, 3L), .Label = c("A",
"B", "C"), class = "factor"), Intercept = c(81.47, 31.809,
69.892, 67.024, 17.357, 105.107), Slope = c(47.267, 20.234,
33.717, 47.267, 20.234, 33.717)), .Names = c("Line #", "country",
"treatment", "Intercept", "Slope"), class = "data.frame", row.names = c(NA,
-6L))
>> From the help that I got here, i was able to make the plot I wanted.
> ggplot(data = test, aes(x = year, y = total, colour = treatment)) +
> geom_point(aes(shape = treatment)) +
> facet_wrap(~country) +
> scale_colour_grey(breaks=c('A','B','C','D','E','F','G'),
> labels=c('label A','label B','label C','label D',
> 'label E','label F','label G')) +
> scale_shape_manual(breaks=c('A','B','C','D','E','F','G'),
> labels=c('label A','label B','label C','label D',
> 'label E','label F','label G'),
> values = c(0, 1, 2, 3, 4, 5, 6)) +
> scale_y_continuous("number of votes") +
> scale_x_continuous("Years", breaks=1:4) +
> theme_bw()+
You can just add
geom_abline(aes(intercept = Intercept, slope = Slope, colour =
treatment), data = lines)
This says to use the data from the lines data.frame, plotting a line for
each row of the data set. The line will be colored based on the value
of the treatment variable (with the mapping defined the same as for the
points). The lines will also be faceted according to country (the
facet_wrap affects all geoms).
> And I added line #1 and # 4 using the abline command.
>
> +geom_abline(intercept = 81.47, slope=47.267, colour = "black", size = 0.5,
> subset = .(country == 'low'))+ geom_abline(intercept = 67.024, slope=47.267,
> colour = " grey", size = 0.5, subset = .(country== 'high'))
>
> How can I make the lines correspond with the descriptions on the right side
> of the graph more clearly?
>
> --
> View this message in context: http://r.789695.n4.nabble.com/grey-colored-lines-and-overwriting-labels-i-qqplot2-tp3657119p3677248.html
> Sent from the R help mailing list archive at Nabble.com.
>
--
Brian S. Diggs, PhD
Senior Research Associate, Department of Surgery
Oregon Health & Science University
More information about the R-help
mailing list