2011-12-02 91 views
1

我有12个点显示月平均。我想打月份x。我试着用下面的代码。它会在x轴上打勾12个刻度线,但不要输入名称。我无法找到错误?格式化x轴

{monthly_average<-aggregate(
    dat.xts$CLPTHV43_Avr.wind.speed.1.m.s..91., 
    as.yearmon(index(dat.xts)), 
    "mean", 
    na.rm=TRUE) 

plot(monthly_average, 
    pch=20, 
    ylim=c(0,11), 
    type="o", 
    main="Average Monthly Wind Spped", 
    xlab="Months", 
    ylab="Wind Speed(m/s)") 

axis(side = 1, 
    at=1:12, 
    lab=c( "July 2010", 
       "Aug 2010", 
       "Sep 2010", 
       "Oct 2010", 
       "Nov 2010", 
       "Dec 2010", 
       "Jan 2011", 
       "Feb 2011", 
       "Mar 2011", 
       "Apr 2011", 
       "May 2011", 
       "Jun 2011"))} 
+0

一些示例数据会很好。 –

回答

0

您能否提供您想要绘制的数据样本?

我认为你在at函数的at参数上犯了一个错误。

library(zoo) 
library(lattice) 

monthly_average <- aggregate(dat.xts$CLPTHV43_Avr.wind.speed.1.m.s..91., 
           as.yearmon(index(dat.xts)), mean, na.rm=TRUE) 


plot(monthly_average, pch = 20, ylim = c(0, 11), type = "o", 
    main = "Average Monthly Wind Speed", xlab = "Months", 
    ylab = "Wind Speed(m/s)") 
xlabel <- c("July 2010", "Aug 2010", "Sep 2010", "Oct 2010", 
"Nov 2010","Dec 2010", "Jan 2011", "Feb 2011", "Mar 2011", 
"Apr 2011", "May 2011", "Jun 2011") 
axis(side = 1, at = monthly_average[, 1], 
lab = xlabel) 
1

您可以使用axis命令手动设置轴刻度。

plot(1:12, xaxt = "n") 
axis(1, 1:12, month.abb) 
1

我们没有数据,但是这个代码创建所有符合标签,而不仅仅是标签。如果您打算使用自己的标签,则首先需要使用xaxt="n"来取消默认标签。

plot(1:12,1:12, 
    pch=20, 
    ylim=c(0,11), 
    type="o", xaxt="n", 
    main="Average Monthly Wind Spped", 
    xlab="Months", 
    ylab="Wind Speed(m/s)") 

axis(side = 1, 
    at=1:12, 
    lab=c( "July 2010", 
       "Aug 2010", 
       "Sep 2010", 
       "Oct 2010", 
       "Nov 2010", 
       "Dec 2010", 
       "Jan 2011", 
       "Feb 2011", 
       "Mar 2011", 
       "Apr 2011", 
       "May 2011", 
       "Jun 2011"), las=3)