Here is a single-graph display. It presents some challenges in distinguishing among the large number of series.
library(fpp3)
#> ββ Attaching packages ββββββββββββββββββββββββββββββββββββββββββββββ fpp3 0.5 ββ
#> β tibble 3.2.1 β tsibble 1.1.3
#> β dplyr 1.1.1 β tsibbledata 0.4.1
#> β tidyr 1.3.0 β feasts 0.3.1
#> β lubridate 1.9.2 β fable 0.3.3
#> β ggplot2 3.4.1 β fabletools 0.3.2
#> ββ Conflicts βββββββββββββββββββββββββββββββββββββββββββββββββ fpp3_conflicts ββ
#> β lubridate::date() masks base::date()
#> β dplyr::filter() masks stats::filter()
#> β tsibble::intersect() masks base::intersect()
#> β tsibble::interval() masks lubridate::interval()
#> β dplyr::lag() masks stats::lag()
#> β tsibble::setdiff() masks base::setdiff()
#> β tsibble::union() masks base::union()
d <- data.frame(
Company = c("NIED KUNSTSTOFF-TEXTIL",
"Nagel GmbH","BD SENSORS GmbH","TECHNOCHEM GMBH",
"Xaver Bosch","GEMA-Technik GmbH","Linker Industrie-Technik GmbH",
"Element Metech KDK GmbH","Heinzelmann GmbH",
"Intercontact GmbH","IAG GLUSKA GmbH ","AZS System AG",
"UM Electronic GmbH","Maprotec GmbH",
"CubiDesign GehΓ€use GmbH","Q-BAT OberflΓ€chen","Tucker GmbH","EMO Systems GmbH",
"EPN ELECTROPRINT GmbH","FOLA AbfΓΌlltechnik GmbH",
"YachtelektrONik HΓΆppli","Vereinsbedarf Deitert GmbH"),
X2017 = c(756823,688146,647021,407077,
471399,566944,686736,349779,84330,122540,17397,
38019,77618,31067,189772,198546,162485,160636,192630,
99207,258933,100464),
X2018 = c(674026,587493,644712,797846,
342685,574444,590111,322751,144808,119248,14684,
36982,43380,37444,202914,215543,148313,107733,
233774,246281,233752,189849),
X2019 = c(637241,480784,746121,731033,
528222,618359,563104,462867,108934,109194,9647,
35960,30213,49179,161728,183365,147625,91725,309424,
322866,273941,238745),
X2020 = c(522727,578899,627080,645161,
594989,448580,67919,525696,32547,66967,9998,25591,
29635,45296,168686,203288,151228,164011,352489,
377846,206766,291408),
X2021 = c(515765,727793,704699,856202,
701297,458338,135450,622501,38381,60398,7414,
15591,23253,68760,202138,154995,166553,217375,404617,
383349,135356,402740)
)
# transpose and convert back to data frame
d_ts <- as.data.frame(t(d))
# convert from character to numeric
d_ts <- sapply(d_ts,as.numeric)
#> Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion
#> Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion
#> Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion
#> Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion
#> Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion
#> Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion
#> Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion
#> Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion
#> Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion
#> Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion
#> Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion
#> Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion
#> Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion
#> Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion
#> Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion
#> Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion
#> Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion
#> Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion
#> Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion
#> Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion
#> Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion
#> Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion
# remove NA to row
d_ts <- d_ts[-1,]
# restore Company names
colnames(d_ts) <- d$Company
# create time series object
d_ts <- ts(d_ts,start = 2017, frequency = 1)
# convert to tidyverse version
d_tsb <- as_tsibble(d_ts)
# plot all Companies
autoplot(d_tsb) + theme_minimal()
#> Plot variable not specified, automatically selected `.vars = value`
Created on 2023-03-27 with reprex v2.0.2