R - Как я могу изменить формат даты при построении объекта xts и зоопарка?

Мне интересно, как я могу изменить формат даты.

Код, над которым я работаю, следующий:

library(quantmod)
getSymbols("AAPL")
price_AAPL <- AAPL[,6]
plot(price_AAPL, main = "The price of AAPL")

Это приводит к

введите здесь описание изображения

Я хочу изменить формат даты с

"%m %d %Y"

как показано на графике к

"%b-%d-%Y"

Поэтому я попытался выполнить следующие действия после поиска некоторых советов:

plot(price_AAPL, main = "The price of AAPL", xaxt="n")
axis.Date(1,
          at=seq(head(index(price_AAPL),1), 
                 tail(index(price_AAPL),1), length.out=5), 
          format="%b-%d-%Y", las=2)

Но это не помогает и даже не показывает никакой маркировки по оси x. Я предполагаю, что я мог сделать что-то не так с "axis.Date()".

Кто-нибудь может мне помочь?


person Louis    schedule 16.12.2015    source источник


Ответы (1)


С xts вы можете использовать major.format напрямую.

plot(price_AAPL, main = "The price of AAPL",major.format="%b-%d-%Y")

введите описание изображения здесь

Однако вы должны знать, что графики zoo обычно более гибкие.

plot.zoo(price_AAPL, main = "The price of AAPL", xaxt="n", xlab="")
axis.Date(1,at=pretty(index(price_AAPL)),
            labels=format(pretty(index(price_AAPL)),format="%b-%d-%Y"),
            las=2, cex.axis=0.7)

введите описание изображения здесь

person Pierre Lapointe    schedule 16.12.2015
comment
Большое спасибо. Я посмотрю на plot.zoo более подробно. - person Louis; 17.12.2015
comment
Параметр major.format, переданный в plot.xts(), не форматирует даты по оси X. Но параметр format.labels форматирует даты: plot(price_AAPL, main="The price of AAPL", format.labels="%b-%d-%Y") - person algoquant; 26.07.2018