[R] plotting dates in x axis

Jeff Newmiller
Mon, 27 Feb 2017 22:00:18 -0000

While humorous, the term "Mexican Wall" is unlikely to be clear to the
OP. This is a reference to the mailing list anti-virus strategy of cutting out
attachments that don't meet a very restrictive set of requirements outlined
in the Posting Guide that all R-users are supposed to have read and memorized,
but which few even seem to know exists. You can best avoid the "Mexican
Wall" by setting your email program to send plain text instead of HTML, and
to embed your R code example (believe it or not, this is not the Excel-To-R
translation service, so show us your R code and text data, not your Excel file)
in the email along with your description of your problem. For more help on
getting help search the Internet for "R reproducible example".
--
Sent from my phone. Please excuse my brevity.

On February 27, 2017 1:11:05 PM PST, Jim Lemon <drjimlemon at gmail.com>
wrote:
>Hi Maria,
>First, Excel files don't make it through the Mexican Wall. A CSV with
>the extension changed to .txt might. You can get all of the years like
>this:
>
>aa<-data.frame(var1=runif(180),
> SDATE=paste(sample(1998:2012,180,TRUE),
> sample(1:12,180,TRUE),sample(1:28,180,TRUE),sep="-"))
>aa$sdate<-as.Date(aa$SDATE)
>plot(aa$sdate,aa$var1,xaxt="n")
>library(plotrix)
># set the tick marks at the middle of each year
>axis.dates<-as.Date(paste(1998:2012,6,30,sep="-"))
>staxlab(1,axis.dates,1998:2012,nlines=3)
>
>Obviously you don't want all of the months, so just add the months to
>the years:
>
>plot(aa$sdate,aa$var1,xaxt="n")
>staxlab(1,axis.dates,format(axis.dates,"%b/%Y"),nlines=3)
>
>Jim
>
>
>On Tue, Feb 28, 2017 at 2:26 AM, Maria Lathouri via R-help
><r-help at r-project.org> wrote:
>> Dear all,
>> I have an excel file of 180 observations with dates and one variable,
>from 1998 to 2012 by random months (there are some years that I might
>not have all the months or I might have two observations in one month).
>I am trying to plot the dates in x axis and the variable in y axis. I
>have already used as.Date for the dates so I can import them into R.
>> Here is my script:> aa<-read.csv("aa.csv")>
attach(aa)>
>names(aa)#"SDATE" "var1"
>> I convert the dates into R: > sdate<-as.Date(SDATE,
>format="%Y-%m-%d")
>>
>> I am plotting the dates with my var1:> plot(sdate, var1,
type="l")
>> Up to now, everything seems ok. However, in the x-axis I only get
>three years, 2000, 2005 and 2010. As I want to show all the years or at
>least as many as it could be, I am using the following:
>>> plot(sdate, var1, type="l", xaxt="n")
>>
>>> d1<-c((sdate[1]), (sdate[183]))>
d2<-as.Date((d1[1])+365*(0:15))
>>> axis(side=1, at=0:15, labels=strftime(d2, format="%Y"),
>cex.axis=0.8,las=2);  I tried also to plot the dates in a month-Year
>form:
>>
>>> d2<-as.Date((d1[1])+150*(0:20))
>>> plot(sdate, var1, type="l", xaxt="n")>
axis(side=1, at=0:15,
>labels=strftime(d2, format="%m-%Y"), cex.axis=0.8,las=2)
>>
>> But nothing happened. I cannot understand why it doesn't show
>anything.
>> I have attached the file as well in case you want to have a more
>clear picture.
>> I really appreciate it if you can help me on this.
>> Thank you very much in advance.
>> Kind regards,Maria
>> ______________________________________________
>> 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.
>
>______________________________________________
>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.