Построение даты в г - PullRequest
3 голосов
/ 18 мая 2019

Я написал следующую команду графика:

Stripped_DATA <- structure(list(Epoch = structure(c(1110925802, 1110929408, 1110933014, 
                                                    1110936616, 1110940217), 
                                                  class = c("POSIXct", "POSIXt"), 
                                                  tzone = "Europe/Helsinki"), 
                                Timediff = c(-1.4653909261659, -1.46512243581845, 
                                             -1.46505141447328, -1.46503418192427,  -1.46464648029912)), 
                           .Names = c("Epoch", "Timediff"), 
                           row.names = c("11070", "21070", "31070", "41070", "51070"), 
                           class = "data.frame")

plot(Stripped_DATA, main = "Maser-69 hourly averages raw data, -3 < 3 microseconds", xlab = "Date", ylab = "microseconds")
ticks <- seq(as.POSIXct("2005-03-16 00:30:02", format = "%F %T"),
             as.POSIXct("2019-04-19 14:29:55", format = "%F %T"), by = "4 months")
labels <- seq(as.Date("2005-03-16"), as.Date("2019-04-19"), by = "4 months")
axis.POSIXct(1, at = ticks, format = "%Y-%m-%d %H", labels = labels)

, которая дает ось X, показанную на графике.Как устранить три ежегодных отметки, которые перекрывают даты?Кроме того, есть ли способ повернуть метки даты из горизонтальной в вертикальную, чтобы я мог добавить больше меток даты?

enter image description here

Ответы [ 2 ]

1 голос
/ 18 мая 2019

Если вы просто хотите использовать свои галочки, удалите метки с вашего графика, прежде чем наносить на него метку xaxt='n', и поверните метки своего графика с las=2

   plot(Stripped_DATA, main = "Maser-69 hourly averages raw data, -3 < 3 microseconds",
         xlab = "Date", ylab = "microseconds" , las=2, xaxt="n")
    ticks <- seq(as.POSIXct("2005-03-16 00:30:02", format = "%F %T"),
                 as.POSIXct("2019-04-19 14:29:55", format = "%F %T"), by = "4 months")
    labels <- seq(as.Date("2005-03-16"), as.Date("2019-04-19"), by = "4 months")
axis.POSIXct(1, at = ticks, format = "%Y-%m-%d %H", labels = labels, las=2)

plot

Объяснение

: ваша функция axis.POSIct() добавляет дополнительные метки. Они могут перекрываться с вашими метками сюжета и создавать отображаемый результат. Так что не наносите оригинальные метки с xaxt='n'

Имейте в виду, это просто если вы хотите, чтобы ваши axis.POSIXct ярлыки

1 голос
/ 18 мая 2019

Используя ваши данные, предоставленные в комментариях.Обратите внимание на комментарий от mischva11 и ссылку ниже.

Вращение меток оси X в R для барплота

Только аргумент las = 2 вplot требуется функция.

Stripped_DATA <- structure(list(Epoch = structure(c(1110925802, 1110929408, 1110933014, 
                                                    1110936616, 1110940217), 
                                                  class = c("POSIXct", "POSIXt"), 
                                                  tzone = "Europe/Helsinki"), 
                                Timediff = c(-1.4653909261659, -1.46512243581845, 
                                             -1.46505141447328, -1.46503418192427, 
                                             -1.46464648029912)), 
                           .Names = c("Epoch", "Timediff"), row.names = c("11070", "21070", 
                                                                          "31070", "41070",
                                                                          "51070"), 
                           class = "data.frame")


plot(Stripped_DATA, main = "Maser-69 hourly averages raw data, -3 < 3 microseconds",
     xlab = "Date", ylab = "microseconds", 
     las = 2) # see
ticks <- seq(as.POSIXct("2005-03-16 00:30:02", format = "%F %T"),
             as.POSIXct("2019-04-19 14:29:55", format = "%F %T"), by = "4 months")
labels <- seq(as.Date("2005-03-16"), as.Date("2019-04-19"), by = "4 months")
axis.POSIXct(1, at = ticks, format = "%Y-%m-%d %H", labels = labels)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...