web-dev-qa-db-ja.com

R:ggplotはすべての日付をx軸に表示します

次のデータセットがあります

structure(list(Date = structure(c(16636, 16667, 16698, 16728, 
16759, 16789, 16820, 16851, 16880, 16911, 16636, 16667, 16698, 
16728, 16759, 16789, 16820, 16851, 16880, 16911, 16636, 16667, 
16698, 16728, 16759, 16789, 16820, 16851, 16880, 16911, 16636, 
16667, 16698, 16728, 16759, 16789, 16820, 16851, 16880, 16911, 
16636, 16667, 16698, 16728, 16759, 16789, 16820, 16851, 16880, 
16911), class = "Date"), Wheel = structure(c(5L, 5L, 5L, 5L, 
5L, 5L, 5L, 5L, 5L, 5L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 
12L, 12L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 11L, 11L, 11L, 
11L, 11L, 11L, 11L, 11L, 11L, 11L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 
6L, 6L, 6L), .Label = c("L1", "L2", "L3", "L4", "L5", "L6", "R1", 
"R2", "R3", "R4", "R5", "R6"), class = "factor"), WearRate = c(-0.000367, 
0, 0, 0, 0.001888, 0, -0.00018, 0.000579, -0.000211, 0.000643, 
0.000106, 0, 0, 0, 0.000833, 0, -0.00036, 0.000811, -0.000819, 
0.002044, -0.00029, 0, 0, 0, 0.001666, 0, -0.000348, 0.000888, 
-0.000679, 0.001636, 8.7e-05, 0, 0, 0, 0.000666, 0, -0.000315, 
0.000618, -0.000585, 0.001636, -0.000512, 0, 0, 0, 0.002499, 
0, -0.000247, 0.000734, -9.4e-05, 0.000409)), .Names = c("Date", 
"Wheel", "WearRate"), row.names = 211269:211318, class = "data.frame")

Date vs WearRatecolor by Wheelのプロットを作成しようとしています。コードは次のとおりです。

ggplot(data = df) + geom_point(mapping = aes(x = Date, y = WearRate, color = Wheel))

動作しますが、実際の日付ラベルを付けたいです。どうすればいいのですか?

編集

現在、プロットは次のようになっています。ただし、X軸に「2015年8月」、「2015年9月」などを表示し、すべての目盛りを表示したいと思います。

enter image description here

12
chintan s

最も簡単な方法は、_scale_x_date_を使用することです。

_ggplot(data = df) + 
  geom_point(mapping = aes(x = Date, y = WearRate, color = Wheel))+
  scale_x_date(date_labels="%b %y",date_breaks  ="1 month")
_

_%b_:短縮された月名
_%y_:世紀のない年
完全な可能性の説明については、?strftime()を参照してください

16
Haboryme