Подтвердить что ты не робот

Форматирование дат с помощью scale_x_date в ggplot2

В предыдущей версии ggplot2 я смог использовать одну из двух следующих команд для форматирования моих дат 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", полного имени месяца.

(Боюсь, я больше не могу отличить, какой из них работал, потому что они оба были прокомментированы.)

Я не помню, когда, но после обновления R или ggplot в обновлении ubuntu 12.04 это больше не работало для меня. Теперь те же самые данные вызывают ошибку:

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")

Со вторым.

Если я удалю аргументы label = и применим

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

он формирует формат даты "ГГГГ-ММ-ДД" в первый из каждого месяца.

Консультирование с помощью функции? 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"

Как мне добиться формата месяца "% B" на моей оси x? (Если у вас есть дополнительные сведения о механизме, создающем эти сообщения об ошибках, я также был бы признателен.)

4b9b3361

Ответ 1

С новым ggplot2 v 2.0.0 способ сделать это:

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

Ответ 2

Nevermind, ответ должен был использовать версию, содержащуюся в документации,

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

И включить library(scales) в качестве документации.