R-Project: Как ограничить оси в графике SPI? ylim & xlim не работают - PullRequest
0 голосов
/ 13 сентября 2018

Уважаемое сообщество stackoverflow,

Я довольно новичок в R, и это моя первая запись в stackoverflow, поэтому, пожалуйста, пощадите меня, если это не идеальный вопрос.

Я рассчитываю стандартизированный индекс осадков (SPI) с пакетом «SPEI» для временного ряда климатической станции с данными за 20 лет месячных осадков. Я сделал это в течение 1 и 12 месяцев, например:

spi1 <- spi(SPI_Anu_input_ts[,'PRCP_Anu'], 1)
spi12 <- spi(SPI_Anu_input_ts[,'PRCP_Anu'], 12)

Выходные данные SPI - это не матрица или датафрейм, это список. Внутри этого списка под соответствующей записью вы найдете серию времени с требуемыми и рассчитанными значениями индекса.

Чтобы построить эти значения индекса, вам не нужно вводить x & y, как обычно:

plot(x, y, ...)

Вы можете просто использовать полный список:

par(mfcol=c(2,1))
plot(spi1, 'Anuradhapura, SPI-1')
plot(spi12, 'Anuradhapura, SPI-12')

Тогда это выглядит так:

Участок SPI1 и SPI12

Часть расчета SPI состоит в том, что количество шкалы времени является первым месяцем для первого значения индекса. Данные об осадках начинаются в январе 1990 года. Таким образом, индексы для SPI1 начинаются в январе, а для SPI12 начинаются в декабре (первые 11 месяцев - NA).

Как вы можете видеть на графике, оси x и y смещены. Ни один

xlim=as.Date(c("1990-01-01","2017-09-01"))

ни каких ограничений осей как

ylim=c(-2.5,2.5)

работает, чтобы иметь одинаковый диапазон значений на обеих графиках.

Кто-нибудь знает, как это решить?

...