2016-05-18 2 views
0

У меня есть код, над которым я работаю для почасового набора данных, и хочу отобразить правильный график вейвлета, но у меня возникают проблемы с его настройкой по своему вкусу. Я хочу изменить ось x, y и установить цветную полосу. Однако я успешно изменил ось X, только когда цветная полоска не активирована. Если это так, то я не могу изменить ось x. Кроме того, я не нашел успешного способа изменить ось y, чтобы иметь больше значений между тем, что автоматически генерируется. Заранее спасибо за помощьВейвлет-сюжет: изменение оси 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) 

Это имеет правильную ось х, но не отображает цветную полосу, так как я не ставил 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) 

No Color Bar, correct x-axis

Это показывает цветную полосу, но не имеет надлежащей оси х маркированы.

# 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) 

No x-axis, but color bar present

ответ

0

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

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