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