2016-12-16 10 views
1

Я смотрел документацию, но не могу понять, как управлять меткой времени на оси x участка в R. Я пробовал axis.POSIXct() и plot.axes = {}. Но для меня это не работает.контрольная отметка времени оси x на заполненном.конкурсе - R

Вот мой упрощенный пример:

x1 <- seq(as.Date("2016-01-01"),as.Date("2018-07-01"),by="month") 
z1 <- c(0.45062130 ,0.51136174 ,0.6 ,0.8 ,0.29481738 ,0.6 ,0.27713756 ,0.62638512 ,0.23547530,0.29253901 ,0.75899501 ,0.67779756 ,0.51831742 ,0.08050147 ,0.71183739 ,0.13154414 ,0.79406706 ,0.13154414,0.03434758 ,0.59573892 ,0.22102821 ,0.13154414 ,0.13154414 ,0.13154414 ,0.13154414 ,0.13154414 ,0.23692593,0.95215104 ,0.38810846 ,0.17970580 ,0.05176054) 
z2 <- z1^2 
z3 <- z2^2 
df <- data.frame(x1,z1,z2,z3) 


time <- c(x1) 
depths <- c(1,2,3) 
temp2 <- as.matrix(data.frame(df$z1,df$z2,df$z3)) 
temp2<- matrix(temp2,ncol=ncol(temp2), dimnames = NULL) 
filled.contour(time,depths,temp2, col=(matlab.like2(28)), 
       ylab="Depth", xlab="Time", 
       key.title=title(expression(' Temp ('*degree*'C)')),xaxs="i") 

Какие выходы: enter image description here

X-метки оси в формате года. Я хотел бы, чтобы формат был %b-%y на каждый месяц (например, май-16, июнь-16 и т. Д.). Как мне это сделать?

ответ

1

Вот как это сделать, используя опцию plot.axes с axis.Date.

filled.contour(time,depths,temp2, #col=(matlab.like2(28)), 
     ylab="Depth", xlab="Time", 
     plot.axes = { axis.Date(side=1,x=time,at=time,format="%b-%y"); axis(2) }, 
     key.title=title(expression(' Temp ('*degree*'C)')),xaxs="i") 

enter image description here

+0

Пока я попробовал это, она работает. Для моего фактического набора данных он дает отметку для каждой отметки времени. Есть ли способ контролировать частоту тиков? – sqwish

+1

Частота тика контролируется аргументами 'x = time, at = time'. Замените время вектором, который содержит только даты, которые вы хотите для тиков. Я не могу использовать ваши данные, потому что это уже ежемесячно, но посмотрите 'to.monthly' в пакете' xts'. –

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

  • Нет связанных вопросов^_^