[R] Multiple Plots using ggplot

Jeff Newmiller jdnewmil at dcn.davis.CA.us
Tue Mar 31 14:56:02 CEST 2015


By failing to take the advice given to you, you make it harder to help you. Learn to control your email program to send plain text, and learn to use the dput function.

With regard to this function call:

> ggplot(df2, aes(Date,value)) +

I highly recommend using named parameters in the aes call. Also, if you want different values of "variable" to be plotted with different colors, you should map that column to the colour dimension:

ggplot(df2, aes(x=Date,y=value,colour=variable)) +

The "type" argument applies to base graphics rather than ggplot graphics, and you should never put fixed values inside the aes call. Since colour has already been taken care of, you can give no parameters in the geom_line call:

geom_line()

So all together then:

ggplot(df2, aes(x=Date,y=value,colour=variable)) +
geom_line()

but I cannot test it because you have not followed my other advice.
---------------------------------------------------------------------------
Jeff Newmiller                        The     .....       .....  Go Live...
DCN:<jdnewmil at dcn.davis.ca.us>        Basics: ##.#.       ##.#.  Live Go...
                                      Live:   OO#.. Dead: OO#..  Playing
Research Engineer (Solar/Batteries            O.O#.       #.O#.  with
/Software/Embedded Controllers)               .OO#.       .OO#.  rocks...1k
--------------------------------------------------------------------------- 
Sent from my phone. Please excuse my brevity.

On March 31, 2015 12:55:11 AM PDT, Frederic Ntirenganya <ntfredo at gmail.com> wrote:
> Hi All,
>
>Sorry for the shape of data which was not good enough.This is how my
>data look like.
>
>I want to plot multiple using ggplot function from a data frame of
>many columns. I want to plot only Start.of.Rain..i.,
>Start.of.Rain..ii. and  Start.of.Rain..iii. and I failed to make it.
>What I want is to compare Start.of.Rain..i., Start.of.Rain..ii. and
>Start.of.Rain..iii. by plotting vertical line. I also need to add
>points to the plot to be able to separate them. The x-axis must be
>date column. Thanks!
>
>Here is how the data look like and how I tried to make it.
>
>
>
>Date Number.of.Rain.Days Total.rain Start.of.Rain..i.
>Start.of.Rain..ii.
>Start.of.Rain..iii. 1952-01-01 86 1139.952 92 239 11 1953-01-01 96
>977.646
>98 98 11 1954-01-01 114 1382.014 92 92 12 1955-01-01 119 1323.086 100
>100
>12 1956-01-01 123 1266.444 92 92 11 1957-01-01 124 1235.964 92 92 11
>
>
>Here is how I tried to solve the problem.
>
>df1 <-data.frame(data)
>df1
>df2 <- melt(df1 ,  id = 'Date', variable_name = 'start of Rains')
>df2
>
>ggplot(df2, aes(Date,value)) + geom_line(aes(colour ="red"),type = "h")
>
>Kindly any help is welcome. Thanks
>
>Regards,
>Frederic.
>
>Frederic Ntirenganya
>Maseno University,
>African Maths Initiative,
>Kenya.
>Mobile:(+254)718492836
>Email: fredo at aims.ac.za
>https://sites.google.com/a/aims.ac.za/fredo/
>
>On Tue, Mar 31, 2015 at 9:24 AM, Jeff Newmiller
><jdnewmil at dcn.davis.ca.us>
>wrote:
>
>> This is no better because (a) you are still posting using HTML
>format, and
>> (b) using printed output loses the internal representation of the
>data. The
>> dput function is very helpful for solving this. [1]
>>
>> [1]
>>
>http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example
>>
>---------------------------------------------------------------------------
>> Jeff Newmiller                        The     .....       .....  Go
>Live...
>> DCN:<jdnewmil at dcn.davis.ca.us>        Basics: ##.#.       ##.#.  Live
>> Go...
>>                                       Live:   OO#.. Dead: OO#.. 
>Playing
>> Research Engineer (Solar/Batteries            O.O#.       #.O#.  with
>> /Software/Embedded Controllers)               .OO#.       .OO#. 
>rocks...1k
>>
>---------------------------------------------------------------------------
>> Sent from my phone. Please excuse my brevity.
>>
>> On March 30, 2015 10:56:48 PM PDT, Frederic Ntirenganya
><ntfredo at gmail.com>
>> wrote:
>> >Hi Stephen,
>> >
>> >Sorry, the data came in bad way.
>> >Here is the head of the data.
>> >
>> >> head(data)        Date Number.of.Rain.Days Total.rain
>> >Start.of.Rain..i. Start.of.Rain..ii. Start.of.Rain..iii.
>> >Start.Rain..iv.
>> >1 1952-01-01                  86   1139.952                92
>> >      239                 112             112
>> >2 1953-01-01                  96    977.646                98
>> >       98                 112             112
>> >3 1954-01-01                 114   1382.014                92
>> >       92                 120             120
>> >4 1955-01-01                 119   1323.086               100
>> >      100                 125             174
>> >5 1956-01-01                 123   1266.444                92
>> >       92                 119             119
>> >6 1957-01-01                 124   1235.964                92
>> >       92                 112             112
>> >
>> >
>> >
>> >Frederic Ntirenganya
>> >Maseno University,
>> >African Maths Initiative,
>> >Kenya.
>> >Mobile:(+254)718492836
>> >Email: fredo at aims.ac.za
>> >https://sites.google.com/a/aims.ac.za/fredo/
>> >
>> >On Mon, Mar 30, 2015 at 5:34 PM, stephen sefick <ssefick at gmail.com>
>> >wrote:
>> >
>> >> Hi Frederic,
>> >>
>> >> Can you provide a minimal reproducible example including either
>real
>> >data
>> >> (dput), or simulated data that mimics your situation? This will
>allow
>> >more
>> >> people to help.
>> >>
>> >> Stephen
>> >>
>> >> On Mon, Mar 30, 2015 at 8:39 AM, Frederic Ntirenganya
>> ><ntfredo at gmail.com>
>> >> wrote:
>> >>
>> >>> Dear All,
>> >>>
>> >>> I want to plot multiple using ggplot function from a data frame
>of
>> >>> many columns. I want to plot only str1, str2 and str3 and I
>failed
>> >to
>> >>> make it. What I want is to compare str1, str2 and str3 by
>plotting
>> >>> vertical line. I also need to add points to the plot to be able
>to
>> >>> separate them.
>> >>>
>> >>>
>> >>> Here is how the data look like and how I tried to make it.
>> >>>
>> >>> Date NumberofRaindays TotalRains str1 str2 str3 1/1/1952 86
>1360.5
>> >92 120
>> >>> 112 1/1/1953 96 1100 98 100 110
>> >>> ...                                           ....
>> >>> ....             ...              ....            ....
>> >>>
>> >>> df1 <-data.frame(data)
>> >>> df1
>> >>> df2 <- melt(df1 ,  id = 'Date', variable_name = 'start of Rains')
>> >>> df2
>> >>>
>> >>> ggplot(df2, aes(Date,value)) + geom_line(aes(colour ="red"),type
>=
>> >"h")
>> >>>
>> >>> Kindly any help is welcome. Thanks
>> >>>
>> >>> Regards,
>> >>> Frederic.
>> >>>
>> >>> Frederic Ntirenganya
>> >>> Maseno University,
>> >>> African Maths Initiative,
>> >>> Kenya.
>> >>> Mobile:(+254)718492836
>> >>> Email: fredo at aims.ac.za
>> >>> https://sites.google.com/a/aims.ac.za/fredo/
>> >>>
>> >>>         [[alternative HTML version deleted]]
>> >>>
>> >>> ______________________________________________
>> >>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> >>> 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.
>> >>>
>> >>
>> >>
>> >>
>> >> --
>> >> Stephen Sefick
>> >> **************************************************
>> >> Auburn University
>> >> Biological Sciences
>> >> 331 Funchess Hall
>> >> Auburn, Alabama
>> >> 36849
>> >> **************************************************
>> >> sas0025 at auburn.edu
>> >> http://www.auburn.edu/~sas0025
>> >> **************************************************
>> >>
>> >> Let's not spend our time and resources thinking about things that
>are
>> >so
>> >> little or so large that all they really do for us is puff us up
>and
>> >make us
>> >> feel like gods.  We are mammals, and have not exhausted the
>annoying
>> >little
>> >> problems of being mammals.
>> >>
>> >>                                 -K. Mullis
>> >>
>> >> "A big computer, a complex algorithm and a long time does not
>equal
>> >> science."
>> >>
>> >>                               -Robert Gentleman
>> >>
>> >>
>> >
>> >       [[alternative HTML version deleted]]
>> >
>> >______________________________________________
>> >R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> >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.
>>
>>



More information about the R-help mailing list