16

%Y-%m" (2001-01)x軸の形式で日付を取得するようにデータをプロットしたい「月次データ」があります。私のデータがpcp <- rnorm(24).

私が試してみました:

PCP <- ts(pcp, frequency = 12, start = 2001)
plot(PCP) 

しかし、プロットは x 軸に年しかありません。

x 軸に希望する日付形式のプロットを取得するにはどうすればよいですか?

4

3 に答える 3

16

質問は再現できないため、おもちゃのデータを使用したアイデアを次に示します。うまくいけば、それは役に立ちます

R> foo = ts(rnorm(36), frequency = 12, start = 2001)
R> plot(foo, xaxt = "n")
R> tsp = attributes(foo)$tsp
R> dates = seq(as.Date("2001-01-01"), by = "month", along = foo)
R> axis(1, at = seq(tsp[1], tsp[2], along = foo), labels = format(dates, "%Y-%m"))

出力

あなたのように見えるデータを含むggplotバージョン

R> df = data.frame(date = seq(as.POSIXct("2001-01-01"), by = "month", length.out = 36), pcp = rnorm(36))
R> library(ggplot2)
R> library(scales)
R> p = ggplot(data = df, aes(x = date, y = pcp)) + geom_line()
R> p + scale_x_datetime(labels = date_format("%Y-%m"), breaks = date_breaks("months")) + theme(axis.text.x = element_text(angle = 45))

ここに画像の説明を入力

于 2013-07-20T03:25:43.017 に答える
12

xtsデータを保存するには優れたパッケージが最適な方法であることがわかりました。お持ちでない場合は、 でダウンロードできますinstall.packages('xts')

基本から始めましょう -pcpあなたがそれを提供していないので、作ることを含みます。

require(xts)
pcp <- rnorm(24)
PCP <- ts(pcp, frequency = 12, start = 2001)
plot(as.xts(PCP), major.format = "%Y-%m")

これにより、次のようなチャートが得られます。に渡される文字列を変更することで、日付を微調整できますmajor.format。たとえば、2001 年 1 月の形式で"%b-%y"日付が生成されます。Jan-01

プロット例

于 2013-07-20T03:29:56.033 に答える