Top 20 ports - volume (in TEUs) of containers handled in each port, by loading status (main ports)
Data - Eurostat
Info
Last observation: Annual: 2024 (N = 120)
First observation: Annual: 2005 (N = 64)
Last data update: 23 jul 2026, 22:39. Last compile: 24 jul 2026, 02:33
Structure
Top 20 Ports
Code
i_g("bib/industrie/top-20-ports.png")
Conteneurs
2019
Code
mar_mg_am_pvh %>%
filter(unit == "THS_TEU",
time == "2019",
loadstat == "TOTAL") %>%
select(rep_mar, Rep_mar, values) %>%
arrange(-values) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}2020
Code
mar_mg_am_pvh %>%
filter(unit == "THS_TEU",
time == "2020",
loadstat == "TOTAL") %>%
select(rep_mar, Rep_mar, values) %>%
arrange(-values) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}Marseille, Antwerpen, Hamburg, Rotterdam
Code
mar_mg_am_pvh %>%
filter(loadstat == "TOTAL",
unit == "THS_TEU",
Rep_mar %in% c("Rotterdam", "Antwerpen", "Hamburg", "Marseille")) %>%
year_to_date %>%
mutate(values = values / 10^3) %>%
ggplot + geom_line(aes(x = date, y = values, color = Rep_mar)) +
theme_minimal() + xlab("") + ylab("Volumes des conteneurs (Millions EVP)") +
theme(legend.position = c(0.3, 0.85),
legend.title = element_blank()) +
scale_x_date(breaks = seq(1940, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 20, 1))
FR_2FRMRS
Antwerpen, Hamburg, Rotterdam
Code
mar_mg_am_pvh %>%
filter(loadstat == "TOTAL",
unit == "THS_TEU",
Rep_mar %in% c("Rotterdam", "Antwerpen", "Hamburg")) %>%
year_to_date %>%
mutate(values = values / 10^3) %>%
ggplot + geom_line(aes(x = date, y = values, color = Rep_mar)) +
theme_minimal() + xlab("") + ylab("Volumes des conteneurs (Millions EVP)") +
theme(legend.position = c(0.3, 0.85),
legend.title = element_blank()) +
scale_x_date(breaks = seq(1940, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 20, 1))
Peiraias, Valencia, Algeciras
Code
mar_mg_am_pvh %>%
filter(loadstat == "TOTAL",
unit == "THS_TEU",
Rep_mar %in% c("Peiraias", "Valencia", "Algeciras")) %>%
year_to_date %>%
mutate(values = values / 10^3) %>%
ggplot + geom_line(aes(x = date, y = values, color = Rep_mar)) +
theme_minimal() + xlab("") + ylab("Volumes des conteneurs (Millions EVP)") +
theme(legend.position = c(0.3, 0.85),
legend.title = element_blank()) +
scale_x_date(breaks = seq(1940, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 20, 1))
Bremerhaven, Felixstowe, Barcelona
Code
mar_mg_am_pvh %>%
filter(loadstat == "TOTAL",
unit == "THS_TEU",
Rep_mar %in% c("Bremerhaven", "Felixstowe", "Barcelona")) %>%
year_to_date %>%
mutate(values = values / 10^3) %>%
ggplot + geom_line(aes(x = date, y = values, color = Rep_mar)) +
theme_minimal() + xlab("") + ylab("Volumes des conteneurs (Millions EVP)") +
theme(legend.position = c(0.1, 0.85),
legend.title = element_blank()) +
scale_x_date(breaks = seq(1940, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 20, 1))
Ambarli, Gioia Tauro, Le Havre
Code
mar_mg_am_pvh %>%
filter(loadstat == "TOTAL",
unit == "THS_TEU",
Rep_mar %in% c("Ambarli", "Gioia Tauro", "Le Havre")) %>%
year_to_date %>%
mutate(values = values / 10^3) %>%
ggplot + geom_line(aes(x = date, y = values, color = Rep_mar)) +
theme_minimal() + xlab("") + ylab("Volumes des conteneurs (Millions EVP)") +
theme(legend.position = c(0.1, 0.85),
legend.title = element_blank()) +
scale_x_date(breaks = seq(1940, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 20, .5))
12 ports
Linear
Code
mar_mg_am_pvh %>%
filter(loadstat == "TOTAL",
unit == "THS_TEU",
Rep_mar %in% c("Rotterdam", "Antwerpen", "Hamburg",
"Peiraias", "Valencia", "Algeciras",
"Bremerhaven", "Felixstowe", "Barcelona",
"Ambarli", "Gioia Tauro", "Le Havre")) %>%
year_to_date %>%
mutate(values = values / 10^3) %>%
mutate(Rep_mar = factor(Rep_mar, c("Rotterdam", "Antwerpen", "Hamburg",
"Peiraias", "Valencia", "Algeciras",
"Bremerhaven", "Felixstowe", "Barcelona",
"Ambarli", "Gioia Tauro", "Le Havre"))) %>%
ggplot + geom_line(aes(x = date, y = values, color = Rep_mar)) +
theme_minimal() + xlab("") + ylab("Volumes des conteneurs (Millions EVP)") +
#scale_color_manual(values = viridis(13)[1:12]) +
theme(legend.title = element_blank()) +
scale_x_date(breaks = seq(1940, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 20, 1))
Log
Code
mar_mg_am_pvh %>%
filter(loadstat == "TOTAL",
unit == "THS_TEU",
Rep_mar %in% c("Rotterdam", "Antwerpen", "Hamburg",
"Peiraias", "Valencia", "Algeciras",
"Bremerhaven", "Felixstowe", "Barcelona",
"Ambarli", "Gioia Tauro", "Le Havre")) %>%
year_to_date %>%
mutate(values = values / 10^3) %>%
mutate(Rep_mar = factor(Rep_mar, c("Rotterdam", "Antwerpen", "Hamburg",
"Peiraias", "Valencia", "Algeciras",
"Bremerhaven", "Felixstowe", "Barcelona",
"Ambarli", "Gioia Tauro", "Le Havre"))) %>%
ggplot + geom_line(aes(x = date, y = values, color = Rep_mar)) +
theme_minimal() + xlab("") + ylab("Volumes des conteneurs (Millions EVP)") +
#scale_color_manual(values = viridis(13)[1:12]) +
theme(legend.title = element_blank()) +
scale_x_date(breaks = seq(1940, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 20, 1))