Quando ploto meus dados sem definir explicitamente o intervalo de coordenadas x (o quarto e mais baixo gráfico na captura de tela, "Sonntag"), o programa par("usr")
me informa qual intervalo o R usa por padrão:
> par("usr")
[1] -68.912 1797.112 0.000 87.400
Mas quando defino o intervalo de coordenadas x para esses valores usando xlim = c(-68.912, 1797.112)
, o gráfico fica mais estreito (o terceiro gráfico na captura de tela, "Samstag"). E quando defino um intervalo mais estreito que o padrão, o eixo x se estende além da janela do gráfico (o primeiro e o segundo gráficos na captura de tela).
Os dados no eixo x são um fator:
steps$time <- factor(format(steps$start_time, "%H:%M"),
levels = format(seq(as.POSIXct("2020-02-20 00:00:00"),
as.POSIXct("2020-02-20 23:59:00"),
by = "1 min"),
"%H:%M"
)
)
Quero limitar o gráfico ao "tempo" entre 6h e 23h, que deve corresponder aos níveis de fator 360 e 1380 (usados nos dois gráficos superiores). Como posso fazer isso?
Aqui está o código completo do enredo:
par(mfrow = c(4, 1), mar = c(5.1, 2.1, 4.1, 2.1))
barplot(count ~ time, dat[dat$group == "A",], xlim = c(360, 1380), ylim = c(0, max(dat$count)), col = "violet", border = NA, xlab = "", ylab = "", yaxt = "n", main = "Montag bis Donnerstag")
barplot(count ~ time, dat[dat$group == "B",], xlim = c(360, 1380), ylim = c(0, max(dat$count)), col = "violet", border = NA, xlab = "", ylab = "", yaxt = "n", main = "Freitag")
barplot(count ~ time, dat[dat$group == "C",], xlim = c(-68.912, 1797.112), ylim = c(0, max(dat$count)), col = "violet", border = NA, xlab = "", ylab = "", yaxt = "n", main = "Samstag")
barplot(count ~ time, dat[dat$group == "D",], ylim = c(0, max(dat$count)), col = "violet", border = NA, xlab = "", ylab = "", yaxt = "n", main = "Sonntag")
Os dados estão aqui: https://pastebin.com/tnNwFywX