仅在R中将ggplot上的x轴显示为月 [英] Display the x-axis on ggplot as month only in R

查看:87
本文介绍了仅在R中将ggplot上的x轴显示为月的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在这里有一个非常简单的问题.我有一个2009-2012年的数据集.我想用多个方面绘制数据.我创建了如下的多面图.

I have a very simple question here. I have a dataset from 2009-2012. I want to plot the data with facets. I have created the faceted plot as follows.

R码

ggplot(al02428400,aes(x=date,y=as.numeric(Discharge)))+geom_line()+ylab("Discharge(cfs)")+facet_wrap(~Year,scales=("free_x"))+theme_bw()

上面的R代码的输出如下:

The output of the above R code is as follows:

在X轴上,我只想显示月份.默认情况下,它显示月份和年份.有什么办法可以摆脱一年的困扰?

On the X-axis I only want to show the month. By default it is showing month and year. Is there any way I can get rid of year ?

完全可复制的代码如下:

library(ggplot2)

url <- "http://nwis.waterdata.usgs.gov/usa/nwis/uv/?cb_00060=on&cb_00065=on&format=rdb&period=&begin_date=2009-01-01&end_date=2012-12-31&site_no=02428400"
download.file(url,destfile="Data load for stations/data/alabamariver-at-monroeville-2009.txt")

al02428400 <- read.table("Data load for stations/data/alabamariver-at-monroeville-2009.txt",header=T,skip=1,sep="\t")
head(al02428400)

sapply(al02428400,class)
al02428400 <- al02428400[-1,]

names(al02428400)<- c("Agency","SiteNo","Datetime", "TZ","Discharge","Status","Gageheight","gstatus")
al02428400$date <- strptime(al02428400$Datetime, format="%Y-%m-%d %H:%M")

al02428400$Discharge <- as.numeric(as.character(al02428400$Discharge))
al02428400$Year <- as.numeric(format(al02428400$date, "%Y"))
ggplot(al02428400,aes(x=date,y=as.numeric(Discharge)))+geom_line()+ylab("Discharge(cfs)")+facet_wrap(~Year,scales=("free_x"))+theme_bw()

谢谢.

推荐答案

由于x值为日期,因此您可以使用 scale_x_date()更改标签格式.需要库 scales 来获得更好的中断和标签格式.

As your x values are date you can use scale_x_date() to change format of labels. Library scales is needed to get better formatting of breaks and labels.

library(scales)
+scale_x_datetime(labels = date_format("%b"))

这篇关于仅在R中将ggplot上的x轴显示为月的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆