Я не думаю, что вы можете напрямую передать несколько заголовков и меток в plot.ts
, но вы можете просто перебрать свои столбцы с векторами меток для каждого:
set.seed(1)
z <- ts(matrix(rt(200 * 8, df = 3), 200, 8), start = c(1961, 1), frequency = 12)
## vectors of x, y, and main labels
xl <- sprintf('x label %s', 1:8)
yl <- sprintf('y label %s', 1:8)
ml <- sprintf('main label %s', 1:8)
par(mfrow = c(4, 2), mar = c(5, 5, 1, 1), oma = c(0, 0, 1, 2))
lapply(1:8, function(ii) {
x <- z[, ii, drop = FALSE]
plot(x, xlab = xl[ii], ylab = yl[ii], main = ml[ii])
})
![введите здесь описание изображения](https://i.stack.imgur.com/aqagg.png)
Вы также можете передавать векторы аргументов (например, для пределов оси X или Y), используя списки:
ylim <- list(c(-10, 10))
ylim <- rep(ylim, 8)
par(mfrow = c(4, 2), mar = c(5, 5, 1, 1), oma = c(0, 0, 1, 2))
lapply(1:8, function(ii) {
x <- z[, ii, drop = FALSE]
plot(x, xlab = xl[ii], ylab = yl[ii], main = ml[ii], col = ii, ylim = ylim[[ii]])
})
![введите здесь описание изображения](https://i.stack.imgur.com/5TJeU.png)
Чтобы приблизить фигуру к виду plot.ts
по умолчанию, вы можете просто установить верхнее и нижнее поля равными 0 и отрегулировать оси (что и делает plot.ts
под капотом). Этот метод немного более подробный, чем plot.ts
, но допускает больше настроек:
par(mfrow = c(4, 2), mar = c(0, 5, 0, 1), oma = c(5, 0, 3, 2))
lapply(1:8, function(ii) {
x <- z[, ii, drop = FALSE]
plot(x, xlab = xl[ii], ylab = yl[ii], col = ii, axes = FALSE)
axis(2, las = 1)
box()
if (ii %in% 7:8) {
axis(1)
title(xlab = 'Year', xpd = NA)
}
if (ii %in% 1:2)
title(main = c('Group 1', 'Group 2')[ii], xpd = NA, line = 1)
})
![введите здесь описание изображения](https://i.stack.imgur.com/v99ey.png)
person
rawr
schedule
21.03.2020
mtext
... просто разместить его будет проблематично. Вы, вероятно, не получите гораздо более конкретной помощи, если не поделитесь небольшим воспроизводимым примером, чтобы у людей было что-то для экспериментов, что, как они знают, имеет отношение к вашей проблеме. - person Gregor Thomas   schedule 22.03.2020ggplot
решение. - person Gregor Thomas   schedule 22.03.2020