График вейвлетов: изменение оси X, Y и цвета

У меня есть код, над которым я работаю для почасового набора данных, и хочу отобразить правильный вейвлет-график, но у меня возникают проблемы с его настройкой по своему вкусу. Я хочу изменить оси X и Y и установить цветную полосу. Я успешно изменил ось X, но только тогда, когда цветная полоса не активирована. Если это так, то я не могу изменить ось X. Кроме того, я не нашел успешного способа изменить ось Y, чтобы иметь больше значений между тем, что генерируется автоматически. Заранее спасибо за вашу помощь

    library(biwavelet) # used for wavelets

    n <- 141696
    d <- data.frame(1:n, round(runif(n, 38, 100),2))

    # X-Axis for plotting
    TIME1 <- as.POSIXlt("2000-01-01 00:00:00 PST", format = '%Y-%m-%d %H:%M:%S')
    TIME2 <- as.POSIXlt("2016-02-29 23:00:00 PST", format = '%Y-%m-%d %H:%M:%S')
    LABELS <- seq(from = TIME1, to = TIME2, by = "3 months")
    xAxis <- seq(from = TIME1, to = TIME2, by = "hour")
    Location <-NA
    for (i in 1:length(LABELS)) { Location[i] <- which(LABELS[i] == xAxis) }
    LABELS <- format(LABELS, "%b %Y")

    # Wavelet
    WAV <- wt(d)

Это имеет правильную ось X, но не отображает цветную полосу, так как я не ставил plot.cb = TRUE в сюжете в качестве аргумента.

    # PLOT (Has no legend but correct x-axis)
    par(oma=c(0, 0, 0, 1), mar=c(5, 4, 4, 5) + 0.1)
    plot(WAV, type="power.corr.norm", main="Bias-corrected wavelet power ", ylab="Period(hourly)", xlab="Time", lwd.sig=1, xaxt='n')
    axis(side = 1, at = Location, labels = LABELS, tick = TRUE, las = 2)

Нет цветной полосы, правильная ось X

Это отображает цветную полосу, но не имеет правильной оси X, помеченной.

    # PLOT (Has legend but no x-axis)
    par(oma=c(0, 0, 0, 1), mar=c(5, 4, 4, 5) + 0.1)
    plot(WAV, type="power.corr.norm", main="Bias-corrected wavelet power ", ylab="Period(hourly)", xlab="Time", lwd.sig=1, xaxt='n', plot.cb=TRUE)
    axis(side = 1, at = Location, labels = LABELS, tick = TRUE, las = 2)

Нет оси X, но присутствует цветная полоса

1 ответ

Войдите в саму функцию, набрав plot.biwaveletскопируйте его в редактор сценариев и отредактируйте функцию, присвоив ей новое имя, например myplotотредактируйте его и запустите myplot вместо plot.biwavelet, Вы можете изменить все, что вы хотите в пределах plot.biwavelet функция. Например, чтобы увеличить количество меток xlim, просто выполните: locs <- pretty(range(xlim), n = 10), В настоящее время, n=5,

Другие вопросы по тегам