Manufacturing, value added (% of GDP)

Data - WDI

Info

Last observation: 2025 (N = 10,062)

First observation: 1960 (N = 10,062)

Last data update: 13 aoû 2026, 22:42. Last compile: 13 aoû 2026, 23:27

Info

source dataset .html .qmd .RData
wdi NV.IND.MANF.ZS [2026-08-12] https://fgee olf.com/

Data on industry

source dataset Title Download Compile
wdi NV.IND.MANF.ZS Manufacturing, value added (% of GDP) NA [2026-08-12]
ec INDUSTRY Industry (sector data) 2026-08-13 [2026-08-12]
eurostat ei_isin_m Industry - monthly data - index (2015 = 100) (NACE Rev. 2) - ei_isin_m NA [2026-08-13]
eurostat htec_trd_group4 High-tech trade by high-tech group of products in million euro (from 2007, SITC Rev. 4) NA [2026-08-13]
eurostat nama_10_a64 National accounts aggregates by industry (up to NACE A*64) NA [2026-08-13]
eurostat nama_10_a64_e National accounts employment data by industry (up to NACE A*64) NA [2026-08-13]
eurostat namq_10_a10_e Employment A*10 industry breakdowns NA [2026-08-13]
eurostat road_eqr_carmot New registrations of passenger cars by type of motor energy and engine size - road_eqr_carmot NA [2026-08-13]
eurostat sts_inpp_m Producer prices in industry, total - monthly data NA [2026-08-13]
eurostat sts_inppd_m Producer prices in industry, domestic market - monthly data NA [2026-08-13]
eurostat sts_inpr_m Production in industry - monthly data NA [2026-08-13]
eurostat sts_intvnd_m Turnover in industry, non domestic market - monthly data - sts_intvnd_m NA [2026-08-13]
fred industry Manufacturing, Industry NA [2026-08-13]
oecd ALFS_EMP Employment by activities and status (ALFS) NA [2026-08-13]
oecd BERD_MA_SOF Business enterprise R&D expenditure by main activity (focussed) and source of funds NA [2026-08-13]
oecd GBARD_NABS2007 Government budget allocations for R and D NA [2026-08-13]
oecd MEI_REAL Production and Sales (MEI) NA [2026-08-13]
oecd MSTI_PUB Main Science and Technology Indicators NA [2026-08-13]
oecd SNA_TABLE4 PPPs and exchange rates NA [2026-08-13]
wdi NV.IND.EMPL.KD Industry, value added per worker (constant 2010 USD) NA [2026-08-13]
wdi NV.IND.MANF.CD Manufacturing, value added (current USD) NA [2026-08-13]
wdi NV.IND.TOTL.KD Industry (including construction), value added (constant 2015 USD) - NV.IND.TOTL.KD NA [2026-08-12]
wdi NV.IND.TOTL.ZS Industry, value added (including construction) (% of GDP) NA [2026-08-12]
wdi SL.IND.EMPL.ZS Employment in industry (% of total employment) NA [2026-08-12]
wdi TX.VAL.MRCH.CD.WT Merchandise exports (current USD) NA [2026-08-12]

LAST_COMPILE

LAST_COMPILE
2026-08-13

Last

Code
NV.IND.MANF.ZS |>
  group_by(year) |>
  summarise(Nobs = n()) |>
  arrange(desc(year)) |>
  head(1) |>
  print_table_conditional()
year Nobs
2025 169

Nobs - Javascript

Nobs - Max - Min

Code
NV.IND.MANF.ZS |>
  left_join(iso2c, by = "iso2c") |>
  group_by(iso2c, Iso2c) |>
  mutate(value = round(value, 1)) |>
  summarise(Nobs = n(),
            `Year 1` = first(year),
            `Manufacturing Share 1 (%)` = first(value),
            `Year 2` = last(year),
            `Manufacturing Share 2 (%)` = last(value)) |>
  arrange(-`Manufacturing Share 2 (%)`) |>
  mutate(Flag = gsub(" ", "-", str_to_lower(Iso2c)),
         Flag = paste0('<img src="../../bib/flags/vsmall/', Flag, '.png" alt="Flag">')) |>
  select(Flag, everything()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

Nobs

Code
NV.IND.MANF.ZS |>
  left_join(iso2c, by = "iso2c") |>
  group_by(iso2c, Iso2c) |>
  summarise(Period = paste0(first(year), "-", last(year)),
            Nobs = n()) |>
  arrange(-Nobs) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

Afghanistan

Code
NV.IND.MANF.ZS |>
  filter(iso2c %in% c("AF")) |>
  left_join(iso2c, by = "iso2c") |>
  year_to_date() |>
  ggplot() + xlab("") + ylab("Manufacturing, value added (% of GDP)") + 
  geom_line(aes(x = date, y = value/100)) + theme_minimal() +
  theme(legend.title = element_blank(),
        legend.position = c(0.2, 0.2)) +
  scale_x_date(breaks = seq(1950, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 2),
                     labels = scales::percent_format(accuracy = 1))

Argentina

Code
NV.IND.MANF.ZS |>
  filter(iso2c %in% c("AR")) |>
  left_join(iso2c, by = "iso2c") |>
  year_to_date() |>
  ggplot() + xlab("") + ylab("Manufacturing, value added (% of GDP)") + 
  geom_line(aes(x = date, y = value/100)) + theme_minimal() +
  theme(legend.title = element_blank(),
        legend.position = c(0.2, 0.2)) +
  scale_x_date(breaks = seq(1950, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 2),
                     labels = scales::percent_format(accuracy = 1))

Uruguay

Code
NV.IND.MANF.ZS |>
  filter(iso2c %in% c("UY")) |>
  left_join(iso2c, by = "iso2c") |>
  year_to_date() |>
  ggplot() + xlab("") + ylab("Manufacturing, value added (% of GDP)") + 
  geom_line(aes(x = date, y = value/100)) + theme_minimal() +
  theme(legend.title = element_blank(),
        legend.position = c(0.2, 0.2)) +
  scale_x_date(breaks = seq(1950, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 2),
                     labels = scales::percent_format(accuracy = 1))

Hungary

Code
NV.IND.MANF.ZS |>
  filter(iso2c %in% c("HU")) |>
  left_join(iso2c, by = "iso2c") |>
  year_to_date() |>
  mutate(Iso2c = ifelse(iso2c == "OE", "OECD Members", Iso2c)) |>
  ggplot() + xlab("") + ylab("Manufacturing, value added (% of GDP)") + 
  geom_line(aes(x = date, y = value/100)) + theme_minimal() +
  theme(legend.title = element_blank(),
        legend.position = c(0.2, 0.2)) +
  scale_x_date(breaks = seq(1950, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 0.5),
                     labels = scales::percent_format(accuracy = 0.1))

OECD, World, Advanced

Code
NV.IND.MANF.ZS |>
  filter(iso2c %in% c("OE", "1W", "EU")) |>
  left_join(iso2c, by = "iso2c") |>
  year_to_date() |>
  mutate(Iso2c = ifelse(iso2c == "OE", "OECD Members", Iso2c)) |>
  left_join(colors, by = c("Iso2c" = "country")) |>
  mutate(value = value/100) |>
  ggplot() + geom_line(aes(x = date, y = value, color = color)) +
  xlab("") + ylab("Manufacturing, value added (% of GDP)") +
  theme_minimal() + scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
                     labels = scales::percent_format(accuracy = 1))

Sweden, OECD, World, Advanced

Code
NV.IND.MANF.ZS |>
  filter(iso2c %in% c("OE", "1W", "EU", "SE")) |>
  left_join(iso2c, by = "iso2c") |>
  year_to_date() |>
  mutate(Iso2c = ifelse(iso2c == "OE", "OECD Members", Iso2c)) |>
  left_join(colors, by = c("Iso2c" = "country")) |>
  mutate(value = value/100) |>
  ggplot() + geom_line(aes(x = date, y = value, color = color)) +
  xlab("") + ylab("Manufacturing, value added (% of GDP)") +
  theme_minimal() + scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
                     labels = scales::percent_format(accuracy = 1))

OECD, Advanced, France, Germany

All

Code
NV.IND.MANF.ZS |>
  filter(iso2c %in% c("OE", "FR", "DE", "US", "GB")) |>
  left_join(iso2c, by = "iso2c") |>
  year_to_date() |>
  mutate(Iso2c = ifelse(iso2c == "OE", "OECD Members", Iso2c)) |>
  left_join(colors, by = c("Iso2c" = "country")) |>
  mutate(value = value/100) |>
  ggplot() + geom_line(aes(x = date, y = value, color = color)) +
  xlab("") + ylab("Manufacturing, value added (% of GDP)") +
  theme_minimal() + scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
                     labels = scales::percent_format(accuracy = 1))

1995-

Code
NV.IND.MANF.ZS |>
  filter(iso2c %in% c("OE", "FR", "DE", "US", "GB")) |>
  left_join(iso2c, by = "iso2c") |>
  year_to_date() |>
  filter(date >= as.Date("1995-01-01")) |>
  mutate(Iso2c = ifelse(iso2c == "OE", "OECD Members", Iso2c)) |>
  left_join(colors, by = c("Iso2c" = "country")) |>
  mutate(value = value/100) |>
  ggplot() + geom_line(aes(x = date, y = value, color = color)) +
  xlab("") + ylab("Manufacturing, value added (% of GDP)") +
  theme_minimal() + scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1950, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
                     labels = scales::percent_format(accuracy = 1))

OECD, World, Advanced, France

All

Code
NV.IND.MANF.ZS |>
  filter(iso2c %in% c("OE", "1W", "FR", "DE", "US", "GB")) |>
  left_join(iso2c, by = "iso2c") |>
  year_to_date() |>
  mutate(Iso2c = ifelse(iso2c == "OE", "OECD Members", Iso2c)) |>
  left_join(colors, by = c("Iso2c" = "country")) |>
  mutate(color = ifelse(iso2c == "DE", color2, color)) |>
  mutate(value = value/100) |>
  ggplot() + geom_line(aes(x = date, y = value, color = color)) +
  xlab("") + ylab("Manufacturing, value added (% of GDP)") +
  theme_minimal() + scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
                     labels = scales::percent_format(accuracy = 1))

1995-

Code
NV.IND.MANF.ZS |>
  filter(iso2c %in% c("OE", "1W", "FR", "DE", "US", "GB")) |>
  left_join(iso2c, by = "iso2c") |>
  year_to_date() |>
  filter(date >= as.Date("1995-01-01")) |>
  mutate(Iso2c = ifelse(iso2c == "OE", "OECD Members", Iso2c)) |>
  left_join(colors, by = c("Iso2c" = "country")) |>
  mutate(color = ifelse(iso2c == "DE", color2, color)) |>
  mutate(value = value/100) |>
  ggplot() + geom_line(aes(x = date, y = value, color = color)) +
  xlab("") + ylab("Manufacturing, value added (% of GDP)") +
  theme_minimal() + scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1950, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
                     labels = scales::percent_format(accuracy = 1))

1995-2021

Code
NV.IND.MANF.ZS |>
  filter(iso2c %in% c("OE", "1W", "FR", "DE", "US", "GB")) |>
  left_join(iso2c, by = "iso2c") |>
  year_to_date() |>
  filter(date >= as.Date("1995-01-01"),
         date <= as.Date("2021-01-01")) |>
  mutate(Iso2c = ifelse(iso2c == "OE", "OECD Members", Iso2c)) |>
  left_join(colors, by = c("Iso2c" = "country")) |>
  mutate(color = ifelse(iso2c == "DE", color2, color)) |>
  mutate(color= ifelse(iso2c == "GB", "#012169", color)) |>
  mutate(value = value/100) |>
  ggplot() + geom_line(aes(x = date, y = value, color = color)) +
  xlab("") + ylab("Manufacturing, value added (% of GDP)") +
  theme_minimal() + scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1950, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
                     labels = scales::percent_format(accuracy = 1))

United Kingdom, United States, France, World, OECD

1995-2021

Code
NV.IND.MANF.ZS |>
  filter(iso2c %in% c("OE", "1W", "FR", "US", "GB")) |>
  left_join(iso2c, by = "iso2c") |>
  year_to_date() |>
  filter(date >= as.Date("1995-01-01"),
         date <= as.Date("2021-01-01")) |>
  mutate(Iso2c = ifelse(iso2c == "OE", "OECD Members", Iso2c)) |>
  left_join(colors, by = c("Iso2c" = "country")) |>
  mutate(color = ifelse(iso2c == "DE", color2, color)) |>
  mutate(color= ifelse(iso2c == "GB", "#012169", color)) |>
  mutate(value = value/100) |>
  ggplot() + geom_line(aes(x = date, y = value, color = color)) +
  xlab("") + ylab("Manufacturing, value added (% of GDP)") +
  theme_minimal() + scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1950, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
                     labels = scales::percent_format(accuracy = 1))

China

1995-

Code
NV.IND.MANF.ZS |>
  filter(iso2c %in% c("OE", "1W", "FR", "DE", "US", "GB", "CN")) |>
  left_join(iso2c, by = "iso2c") |>
  year_to_date() |>
  filter(date >= as.Date("1995-01-01")) |>
  mutate(Iso2c = ifelse(iso2c == "OE", "OECD Members", Iso2c)) |>
  left_join(colors, by = c("Iso2c" = "country")) |>
  mutate(color = ifelse(iso2c == "DE", color2, color)) |>
  mutate(value = value/100) |>
  ggplot() + geom_line(aes(x = date, y = value, color = color)) +
  xlab("") + ylab("Manufacturing, value added (% of GDP)") +
  theme_minimal() + scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1950, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
                     labels = scales::percent_format(accuracy = 1))

OECD, World, Advanced, France

All

Code
NV.IND.MANF.ZS |>
  filter(iso2c %in% c("OE", "1W", "FR", "DE")) |>
  left_join(iso2c, by = "iso2c") |>
  year_to_date() |>
  mutate(Iso2c = ifelse(iso2c == "OE", "OECD Members", Iso2c)) |>
  left_join(colors, by = c("Iso2c" = "country")) |>
  mutate(color = ifelse(iso2c == "DE", color2, color)) |>
  mutate(value = value/100) |>
  ggplot() + geom_line(aes(x = date, y = value, color = color)) +
  xlab("") + ylab("Manufacturing, value added (% of GDP)") +
  theme_minimal() + scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
                     labels = scales::percent_format(accuracy = 1))

1997-

Code
NV.IND.MANF.ZS |>
  filter(iso2c %in% c("OE", "1W", "FR", "DE")) |>
  left_join(iso2c, by = "iso2c") |>
  year_to_date() |>
  filter(date >= as.Date("1997-01-01")) |>
  mutate(Iso2c = ifelse(iso2c == "OE", "OECD Members", Iso2c)) |>
  left_join(colors, by = c("Iso2c" = "country")) |>
  mutate(color = ifelse(iso2c == "DE", color2, color)) |>
  mutate(value = value/100) |>
  ggplot() + geom_line(aes(x = date, y = value, color = color)) +
  xlab("") + ylab("Manufacturing, value added (% of GDP)") +
  theme_minimal() + scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
                     labels = scales::percent_format(accuracy = 1))

France, Germany, OECD

Code
NV.IND.MANF.ZS |>
  filter(iso2c %in% c("OE", "FR", "DE")) |>
  left_join(iso2c, by = "iso2c") |>
  year_to_date() |>
  mutate(Iso2c = ifelse(iso2c == "OE", "OECD Members", Iso2c)) |>
  left_join(colors, by = c("Iso2c" = "country")) |>
  mutate(value = value/100) |>
  ggplot() + geom_line(aes(x = date, y = value, color = color)) +
  xlab("") + ylab("Manufacturing, value added (% of GDP)") +
  theme_minimal() + scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 2),
                     labels = scales::percent_format(accuracy = 1))

China, France, Germany

Code
NV.IND.MANF.ZS |>
  filter(iso2c %in% c("CN", "FR", "DE")) |>
  left_join(iso2c, by = "iso2c") |>
  year_to_date() |>
  left_join(colors, by = c("Iso2c" = "country")) |>
  mutate(value = value/100) |>
  ggplot() + geom_line(aes(x = date, y = value, color = color)) +
  xlab("") + ylab("Manufacturing, value added (% of GDP)") +
  theme_minimal() + scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 2),
                     labels = scales::percent_format(accuracy = 1))

Sweden, France, Germany

Code
NV.IND.MANF.ZS |>
  filter(iso2c %in% c("SE", "FR", "DE")) |>
  left_join(iso2c, by = "iso2c") |>
  year_to_date() |>
  left_join(colors, by = c("Iso2c" = "country")) |>
  mutate(value = value/100) |>
  ggplot() + geom_line(aes(x = date, y = value, color = color)) +
  xlab("") + ylab("Manufacturing, value added (% of GDP)") +
  theme_minimal() + scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 2),
                     labels = scales::percent_format(accuracy = 1))

China, India, France, Germany, Japan, US, UK

All

Code
NV.IND.MANF.ZS |>
  filter(iso2c %in% c("CN", "FR", "DE", "IN", "GB", "US", "JP")) |>
  left_join(iso2c, by = "iso2c") |>
  left_join(colors, by = c("Iso2c" = "country")) |>
  year_to_date() |>
  mutate(value = value/100) |>
  ggplot() + geom_line(aes(x = date, y = value, color = color)) +
  xlab("") + ylab("Manufacturing, value added (% of GDP)") +
  theme_minimal() + scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 2),
                     labels = scales::percent_format(accuracy = 1))

1990-

Code
NV.IND.MANF.ZS |>
  filter(iso2c %in% c("CN", "FR", "DE", "IN", "GB", "US", "JP")) |>
  left_join(iso2c, by = "iso2c") |>
  left_join(colors, by = c("Iso2c" = "country")) |>
  year_to_date() |>
  filter(date >= as.Date("1990-01-01")) |>
  mutate(value = value/100) |>
  ggplot() + geom_line(aes(x = date, y = value, color = color)) +
  xlab("") + ylab("Manufacturing, value added (% of GDP)") +
  theme_minimal() + scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 2),
                     labels = scales::percent_format(accuracy = 1))

Italy, Portugal, Spain

Code
NV.IND.MANF.ZS |>
  filter(iso2c %in% c("IT", "PT", "ES")) |>
  left_join(iso2c, by = "iso2c") |>
  left_join(colors, by = c("Iso2c" = "country")) |>
  year_to_date() |>
  mutate(value = value/100) |>
  ggplot() + geom_line(aes(x = date, y = value, color = color)) +
  xlab("") + ylab("Manufacturing, value added (% of GDP)") +
  theme_minimal() + scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 2),
                     labels = scales::percent_format(accuracy = 1))

Germany, Switzerland, Netherlands

All

Code
NV.IND.MANF.ZS |>
  filter(iso2c %in% c("DE", "CH", "KR", "JP")) |>
  left_join(tibble(iso2c = c("DE", "CH", "KR", "JP"),
                   Iso2c = c("Germany", "Switzerland", "South Korea", "Japan")),
            by = "iso2c") |>
  year_to_date() |>
  left_join(colors, by = c("Iso2c" = "country")) |>
  mutate(value = value/100) |>
  ggplot() + geom_line(aes(x = date, y = value, color = color)) +
  xlab("") + ylab("Manufacturing, value added (% of GDP)") +
  theme_minimal() + scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 2),
                     labels = scales::percent_format(accuracy = 1))

1995-

Code
NV.IND.MANF.ZS |>
  filter(iso2c %in% c("DE", "CH", "KR", "JP")) |>
  left_join(tibble(iso2c = c("DE", "CH", "KR", "JP"),
                   Iso2c = c("Germany", "Switzerland", "South Korea", "Japan")),
            by = "iso2c") |>
  year_to_date() |>
  filter(date >= as.Date("1995-01-01")) |>
  left_join(colors, by = c("Iso2c" = "country")) |>
  mutate(value = value/100) |>
  ggplot() + geom_line(aes(x = date, y = value, color = color)) +
  xlab("") + ylab("Manufacturing, value added (% of GDP)") +
  theme_minimal() + scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 2),
                     labels = scales::percent_format(accuracy = 1))

Italy, Portugal, Spain, Greece, France

All

Code
NV.IND.MANF.ZS |>
  filter(iso2c %in% c("IT", "PT", "ES", "GR", "FR")) |>
  left_join(iso2c, by = "iso2c") |>
  year_to_date() |>
  ggplot() + 
  geom_line(aes(x = date, y = value/100, color = Iso2c)) + 
  theme_minimal() +
  scale_color_manual(values = c("#002395", "#0D5EAF", "#009246", "#FF0000", "#FFC400")) +
  theme(legend.title = element_blank(),
        legend.position = c(0.2, 0.2)) +
  scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  geom_image(data = . %>%
               filter(date == as.Date("2007-01-01")) %>%
               mutate(image = paste0("../../icon/flag/", str_to_lower(gsub(" ", "-", Iso2c)), ".png")),
             aes(x = date, y = value/100, image = image), asp = 1.5) +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 2),
                     labels = scales::percent_format(accuracy = 1)) +
  xlab("") + ylab("Manufacturing, value added (% of GDP)")

1995-

Code
NV.IND.MANF.ZS |>
  filter(iso2c %in% c("IT", "PT", "ES", "GR", "FR")) |>
  left_join(iso2c, by = "iso2c") |>
  year_to_date() |>
  filter(date >= as.Date("1995-01-01")) |>
  ggplot() + 
  geom_line(aes(x = date, y = value/100, color = Iso2c)) + 
  theme_minimal() +
  scale_color_manual(values = c("#002395", "#0D5EAF", "#009246", "#FF0000", "#FFC400")) +
  theme(legend.position = "none") + 
  scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  geom_image(data = . %>%
               filter(date == as.Date("2016-01-01")) %>%
               mutate(image = paste0("../../icon/flag/", str_to_lower(gsub(" ", "-", Iso2c)), ".png")),
             aes(x = date, y = value/100, image = image), asp = 1.5) +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 2),
                     labels = scales::percent_format(accuracy = 1)) +
  xlab("") + ylab("Manufacturing, value added (% of GDP)")

Spain, United Kingdom, United States

Code
NV.IND.MANF.ZS |>
  filter(iso2c %in% c("US", "GB")) |>
  left_join(iso2c, by = "iso2c") |>
  year_to_date() |>
  left_join(colors, by = c("Iso2c" = "country")) |>
  mutate(value = value/100) |>
  ggplot() + geom_line(aes(x = date, y = value, color = color)) +
  xlab("") + ylab("Manufacturing, value added (% of GDP)") +
  theme_minimal() + scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
                     labels = scales::percent_format(accuracy = 1))

Argentina, Chile, Venezuela

Code
NV.IND.MANF.ZS |>
  filter(iso2c %in% c("AR", "CL", "VE")) |>
  left_join(tibble(iso2c = c("AR", "CL", "VE"),
                   Iso2c = c("Argentina", "Chile", "Venezuela")),
            by = "iso2c") |>
  year_to_date() |>
  left_join(colors, by = c("Iso2c" = "country")) |>
  mutate(value = value/100) |>
  ggplot() + geom_line(aes(x = date, y = value, color = color)) +
  xlab("") + ylab("Manufacturing, value added (% of GDP)") +
  theme_minimal() + scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 2),
                     labels = scales::percent_format(accuracy = 1))

Greece, Hong Kong, Mexico

Code
NV.IND.MANF.ZS |>
  filter(iso2c %in% c("GR", "HK", "MX")) |>
  left_join(iso2c, by = "iso2c") |>
  mutate(Iso2c = ifelse(iso2c == "HK", "Hong Kong", Iso2c)) |>
  year_to_date() |>
  left_join(colors, by = c("Iso2c" = "country")) |>
  mutate(value = value/100) |>
  ggplot() + geom_line(aes(x = date, y = value, color = color)) +
  xlab("") + ylab("Manufacturing, value added (% of GDP)") +
  theme_minimal() + scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 2),
                     labels = scales::percent_format(accuracy = 1))