2014-11-07 2 views
0

Предположим, у меня есть вектор чисел от 1:12 и вы хотите построить их в течение периода времени, начиная с января 2013 года по декабрь 2013 года. Я использовал следующий код для генерации данных и наброски:Вычислить вектор сгенерированной последовательности дат

dates<-seq(as.Date("2013/1/1"), by = "month", length.out = 12) 
n<-seq(1:12) 
df<-cbind(dates,n) 
plot(df) 

Однако некоторые проблемы приходят с последним кодом; Во-первых, не удалось найти вариант в первом seq, чтобы генерировать только месяцы и год без дня. Во-вторых, все даты в df становятся серийными даже после добавления as.Date до dates в cbind. Наконец, ось x на графике не в формате времени в результате двух последних проблем.

ответ

1
df<-data.frame(dates=dates,n=n) 
plot(df$dates, df$n, axes=FALSE) 
axis(1, labels=format(df$dates, "%b %Y"), at=df$dates) 
axis(2) 
+0

работает отлично. Пойми, если вы расскажете, как я могу добавить годы к оси x. – athraa

+0

Исправлено это для вас. – dash2

1

просто использовать

plot(dates,n) 

без cbinding его. cbind создает матрицу (см. class(df)). В этом процессе даты сохраняются как числовые числа.

enter image description here

Для приятнее и проще настраивать участки использовать

require(ggplot2) 
qplot(dates,n) + xlab("") + ylab("my y lab") 

enter image description here

Смежные вопросы