web-dev-qa-db-ja.com

ggplot2でscale_x_dateを使用して日付をフォーマットする

Ggplot2の以前のバージョンでは、次の2つのコマンドのいずれかを使用してxの日付をフォーマットできました。

scale_x_date(breaks = "1 month", minor_breaks = "1 week", labels=(date_format="%B")) +

または

scale_x_date(major="months", minor="weeks", format="%B") +

完全な月名の「%B」形式を生成します。

(どちらが機能していたのか、どちらもコメントアウトされているため区別できなくなっているのではないかと思います。)

いつか思い出せませんが、ubuntu 12.04アップグレードでRまたはggplotを更新した後、これはもう機能しませんでした。これで、まったく同じデータがエラーを生成します。

Error in scale_labels.continuous(scale) : 
  Breaks and labels are different lengths

最初で、そして

Error in continuous_scale(aesthetics, "date", identity, breaks = breaks,  : 
  unused argument(s) (major = "months", minor = "weeks", format = "%B")

2番目。

Labels =引数を削除して適用した場合

scale_x_date(breaks = "1 month", minor_breaks = "1 week") +

毎月1日に「YYYY-MM-DD」の日付形式を生成します。

関数scale_x_dateのヘルプを参照して、次のことも試しました。

scale_x_date(breaks = "1 month", minor_breaks = "1 week", labels=date_format("%B")) +

しかし、これはこのエラーを生成します:

Error in structure(list(call = match.call(), aesthetics = aesthetics,  : 
  could not find function "date_format"

X軸で月名の「%B」フォーマットを実現するにはどうすればよいですか? (これらのエラーメッセージを生成するメカニズムに関する追加の洞察があれば、それもありがたいです。)

50
Mittenchops

新しいggplot2 v 2.0.0を使用する方法は次のとおりです。

scale_x_date(date_breaks = "1 month", date_minor_breaks = "1 week", date_labels = "%B")
51
YCR

答えはドキュメントにあるバージョンを使用することでしたが、

_scale_x_date(breaks = "1 month", minor_breaks = "1 week", labels=date_format("%B")) +
_

そして、 documentation が示すようにlibrary(scales)を含めること。

59
Mittenchops