Альтернативная единица на участке () - PullRequest
3 голосов
/ 28 декабря 2011

У меня есть два вектора (во фрейме данных), которые я хочу построить таким образом plot(df$timeStamp,df$value), который прекрасно работает сам по себе.Теперь график показывает временную метку в чистом числовом виде в виде маркеров на оси х.

Когда я форматирую вектор временных меток, он превращается в вектор "чч: мм: сс", plot() жалуется (что имеет смысл, так как данные оси X теперь являются вектором строк).

Есть ли способ сказать plot(x-vector, y-vector, label-x-vector), где вектор label-x содержит элементы, отображаемые вдоль оси x?

Ответы [ 2 ]

2 голосов
/ 28 декабря 2011

Стандартные графики R довольно хороши в том, что вы хотите, если вы даете им правильную информацию.Если вы можете преобразовать свои временные метки в объекты реального времени (объекты Date или POSIXct), то plot будет стремиться делать правильные вещи.Попробуйте следующие примеры:

tmp <- as.POSIXct( seq(0, length=10, by=60*5), origin='2011-12-28' )
tmp
plot( tmp, runif(10) )
tmp2 <- as.POSIXct( seq(0, length=10, by=60*60*5), origin='2011-12-28' )
tmp2
plot( tmp2, runif(10) )
tmp3 <- as.POSIXct( seq(0, length=10, by=60*60/2), origin='2011-12-28' )
tmp3
plot( tmp3, runif(10) )

В каждом случае метки тиков довольно значимы, но если вам нужен другой формат, вы можете последовать примеру @ John и подавить ось по умолчанию, а затем использовать axis.POSIXctи укажите, какой формат вы хотите.

В примерах используется одинаково разнесенное время (из-за моей лени), но оно будет одинаково хорошо работать при неравномерно разнесенном времени.

2 голосов
/ 28 декабря 2011

Последняя часть вашего общего вопроса состоит из двух команд, а не одной.Если вы посмотрите на ?plot.default (связанный с ?plot), вы увидите опцию, чтобы полностью исключить ось x, используя аргумент xaxt (xaxt = 'n').Сделайте это, а затем используйте axis, чтобы сделать ось X желаемой (отметьте ?axis).Я не знаю, в каком формате ваша временная метка в настоящее время, поэтому трудно помочь дальше.

В общем, это ...

plot(x-vector, y-vector, xaxt = 'n')
axis(1, x-vector, label-x-vector)

(Помощь при построении графика может быть примерносамая грязная часть R-help, но как только вы привыкнете смотреть на plot.default, axis и par, вы начнете лучше разбираться в вещах)

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