[R] Plotting in R

Jim Lemon drj|m|emon @end|ng |rom gm@||@com
Fri Jul 12 01:46:23 CEST 2019


Hi Steven,
It is pretty easy, but there are one or two things to watch for.
First, don't use a hyphen in a field name unless you enclose it in
single quotes when extracting it. I've just removed the hyphen in this
example:

sydf<-read.table(text="year1 monthday rate
 1993 05-01 0.608
 1994 06-01 0.622
 1996 07-01 0.623
 1998 08-01 0.647
 2000 09-01 0.646
 2002 10-01 0.625
 2004 11-01 0.628
 2006 12-01 0.685
 2008 01-01 0.679
 2010 02-01 0.595
 2012 03-01 0.567
 2014 04-01 0.599
 2016 05-01 0.642
 2018 06-01 0.685",
 header=TRUE,
 stringsAsFactors=FALSE)
sydf$date<-as.Date(paste(sydf$year1,sydf$monthday),"%Y %m-%d")
library(plotrix)
par(mar=c(6,4,4,2))
plot(sydf$date,sydf$rate,type="b",xaxt="n")
staxlab(1,at=sydf$date,labels=sydf$monthday)

Note that I have also added the stringsAsFactors argument to prevent
monthdate being read as a factor. I expected that the axis labels
would be crowded so I used the plotrix library to stagger the x-axis
labels. Hope this solves your problem.

Jim

On Fri, Jul 12, 2019 at 1:59 AM <nstefi using gmail.com> wrote:
>
> Hi Jim,
>
> Thanks for your email.
> My question was: how to change the x axis labels without changing the chart.
> Or is that not possible?
> Using your example, I added another column:
> sydf<-read.table(text="year1 month-day rate
>  1993 05-01 0.608
>  1994 06-01 0.622
>  1996 07-01 0.623
>  1998 08-01 0.647
>  2000 09-01 0.646
>  2002 10-01 0.625
>  2004 11-01 0.628
>  2006 12-01 0.685
>  2008 01-01 0.679
>  2010 02-01 0.595
>  2012 03-01 0.567
>  2014 04-01 0.599
>  2016 05-01 0.642
>  2018 06-01 0.685",
>                  header=TRUE)
>
> How can I show the column "month-day" as labels on the x axis, but still
> have the plot showing the chart as rate based on year?
> I tried this:
> plot(sydf$year,sydf$rate,type="b",
>      xlab="month-day",ylab="Rate")
>
> but this only changes the title of the x axis to "month-day". I want the
> values on the x axis to show 05-01  06-01, etc.
> Is that possible?
>
> Thanks,
> Steven
>
> -----Original Message-----
> From: R-help <r-help-bounces using r-project.org> On Behalf Of Jim Lemon
> Sent: Sunday, July 7, 2019 2:59 AM
> To: Steven Yen <styen using ntu.edu.tw>; r-help mailing list
> <r-help using r-project.org>
> Subject: Re: [R] Plotting in R
>
> Hi Steven,
> A basic plot can be displayed like this:
>
> sydf<-read.table(text="year rate
>  1993 0.608
>  1994 0.622
>  1996 0.623
>  1998 0.647
>  2000 0.646
>  2002 0.625
>  2004 0.628
>  2006 0.685
>  2008 0.679
>  2010 0.595
>  2012 0.567
>  2014 0.599
>  2016 0.642
>  2018 0.685",
> header=TRUE)
> plot(sydf$year,sydf$rate,type="b",
> xlab="Year",ylab="Rate")
>
> When you add more years and rates to the data frame, the axes will change to
> include the years and rates outside the ones in your example. As some have
> noted, this is a very basic question.
>
> Jim
>
> On Sat, Jul 6, 2019 at 11:33 PM Steven Yen <styen using ntu.edu.tw> wrote:
> >
> > I have a data frame containing two variables: year and rate (shown below).
> > Which function can I use to plot rate (y-axis) against year (x-axis)?
> > There will be more columns of rate later on.
> > Thank you.
> >
> > year rate 1 1993 0.608 2 1994 0.622 3 1996 0.623 4 1998 0.647 5 2000
> > 0.646 6 2002 0.625 7 2004 0.628 8 2006 0.685 9 2008 0.679 10 2010
> > 0.595
> > 11 2012 0.567 12 2014 0.599 13 2016 0.642 14 2018 0.685
> >
> >
> > --
> > styen using ntu.edu.tw (S.T. Yen)
> >
> >
> >
> > ---
> > This email has been checked for viruses by Avast antivirus software.
> > https://www.avast.com/antivirus
> >
> >         [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-help using 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.
>
> ______________________________________________
> R-help using 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