This is my code and when I add the last line of code, which is geom_text() to add labels on the bars, my bars disappears. Moreover, this happens in geom_bar(position="fill") but not in geom_bar(position="stack"). Couldn't find out the reason. My graph is a circular bar graph. Please help me in this regard. Thanks in advance. This is my data
structure(list(Corporations = c("Nichtfinanzielle Kapitalgesellschaften",
"Nichtfinanzielle Kapitalgesellschaften", "Nichtfinanzielle Kapitalgesellschaften",
"Nichtfinanzielle Kapitalgesellschaften", "Nichtfinanzielle Kapitalgesellschaften",
"Nichtfinanzielle Kapitalgesellschaften", "Nichtfinanzielle Kapitalgesellschaften",
"Nichtfinanzielle Kapitalgesellschaften", "Nichtfinanzielle Kapitalgesellschaften",
"Finanzielle Kapitalgellschaften", "Finanzielle Kapitalgellschaften",
"Finanzielle Kapitalgellschaften", "Finanzielle Kapitalgellschaften",
"Finanzielle Kapitalgellschaften", "Finanzielle Kapitalgellschaften",
"Finanzielle Kapitalgellschaften", "Finanzielle Kapitalgellschaften",
"Finanzielle Kapitalgellschaften", "Private Haushalte", "Private Haushalte",
"Private Haushalte", "Private Haushalte", "Private Haushalte",
"Private Haushalte", "Private Haushalte", "Private Haushalte",
"Private Haushalte", "Staat", "Staat", "Staat", "Staat", "Staat",
"Staat", "Staat", "Staat", "Staat", "Private Organisationen ohne Erwerbszweck",
"Private Organisationen ohne Erwerbszweck", "Private Organisationen ohne Erwerbszweck",
"Private Organisationen ohne Erwerbszweck", "Private Organisationen ohne Erwerbszweck",
"Private Organisationen ohne Erwerbszweck", "Private Organisationen ohne Erwerbszweck",
"Private Organisationen ohne Erwerbszweck", "Private Organisationen ohne Erwerbszweck"
), Instruments = c("Währungsgold und Sonderziehungsrechte", "Bargeld",
"Einlagen", "Schuldverschreibungen", "Kredite", "Anteilsrechte",
"Versicherungstechnische Rückstellungen", "Finanzderivate und Mitarbeiteroptionen",
"Sonstige Forderungen", "Währungsgold und Sonderziehungsrechte",
"Bargeld", "Einlagen", "Schuldverschreibungen", "Kredite", "Anteilsrechte",
"Versicherungstechnische Rückstellungen", "Finanzderivate und Mitarbeiteroptionen",
"Sonstige Forderungen", "Währungsgold und Sonderziehungsrechte",
"Bargeld", "Einlagen", "Schuldverschreibungen", "Kredite", "Anteilsrechte",
"Versicherungstechnische Rückstellungen", "Finanzderivate und Mitarbeiteroptionen",
"Sonstige Forderungen", "Währungsgold und Sonderziehungsrechte",
"Bargeld", "Einlagen", "Schuldverschreibungen", "Kredite", "Anteilsrechte",
"Versicherungstechnische Rückstellungen", "Finanzderivate und Mitarbeiteroptionen",
"Sonstige Forderungen", "Währungsgold und Sonderziehungsrechte",
"Bargeld", "Einlagen", "Schuldverschreibungen", "Kredite", "Anteilsrechte",
"Versicherungstechnische Rückstellungen", "Finanzderivate und Mitarbeiteroptionen",
"Sonstige Forderungen"), Q1.19 = c(NA, 6299, 555223, 2427, 32995,
2189603, 56996, 31362, 1198580, 139931, 38424, 4340085, 3202446,
60692, 2975850, 89437, 588297, 342623, NA, 230878, 2251130, 12242,
1625426, 1255442, 2281472, 0, 30619, NA, 487, 319099, 6259, 38429,
617751, 948, 41669, 99347, NA, NA, 62271, 1840, 15811, 92797,
NA, 422, NA), Q2.19 = c(NA, 6454, 551837, 2085, 31926, 2198338,
57709, 32616, 1178917, 148943, 39256, 4359950, 3303698, 60708,
3056242, 89612, 726303, 358358, NA, 239382, 2284960, 12250, 1645940,
1292362, 2297914, 0, 31502, NA, 487, 330817, 6150, 39239, 645949,
954, -41925, 94741, NA, NA, 62626, 1839, 15866, 95467, NA, 362,
NA), Q3.19 = c(NA, 6466, 573901, 2295, 32219, 2232079, 58430,
32051, 1203447, 162442, 39311, 4261998, 3420453, 60885, 3157147,
91016, 920818, 382937, NA, 249723, 2298254, 12225, 1667098, 1322047,
2313450, 0, 32251, NA, 487, 330779, 6004, 42480, 676359, 960,
-47370, 108842, NA, NA, 62854, 1913, 16052, 98454, NA, 480, NA
), Q4.19 = c(NA, 7386, 590593, 2183, 33011, 2317831, 59160, 31542,
1229358, 161204, 44712, 4089901, 3332533, 60485, 3266643, 91257,
761489, 440720, NA, 260243, 2337146, 12045, 1686127, 1383188,
2331436, 0, 32043, NA, 487, 313552, 5315, 40097, 670891, 966,
-42715, 104839, NA, NA, 61959, 1919, 16446, 103620, NA, 380,
NA), Q1.20 = c(NA, 6742, 588896, 1979, 33086, 2103282, 59900,
44907, 1178927, 173489, 49423, 4494126, 3354457, 61080, 2975370,
90025, 1102066, 400057, NA, 279788, 2341738, 10748, 1703401,
1220313, 2354882, 0, 31439, NA, 487, 350979, 5709, 41296, 664676,
972, -44212, 115474, NA, NA, 62339, 1740, 16510, 94113, NA, 412,
NA)), row.names = c(NA, -45L), class = c("tbl_df", "tbl", "data.frame"
))
This is my code;
ggplot(data, aes(x = Corporations, y = Q1.19, fill = Instruments)) +
geom_bar(position = "fill", stat = "identity") +
coord_polar() +
ggtitle(expression(paste(underline("Quartal 1, 2019")))) +
theme(legend.box.background = element_rect(color="red", size=2),
legend.box.margin = margin(16, 6, 6, 6),
panel.background = element_blank(),
panel.border = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.title.x = element_blank(),
axis.title.y = element_blank(),
axis.text.y=element_blank(),
axis.ticks.x = element_blank(),
axis.ticks.y = element_blank(),
plot.title = element_text(hjust = 0.5, size = 20)) +
scale_x_discrete(labels = wrap_format(10)) +
geom_text(aes(y=Q1.19, label = paste(Q1.19)),
size = 2, position = position_stack(vjust = 0.7))
Try the code below. I changed position_stack
in geom_text
to position_fill
.
ggplot(data, aes(x = Corporations, y = Q1.19, fill = Instruments)) +
geom_bar(position = "fill", stat = "identity") +
coord_polar() +
ggtitle(expression(paste(underline("Quartal 1, 2019")))) +
theme(legend.box.background = element_rect(color="red", size=2),
legend.box.margin = margin(16, 6, 6, 6),
panel.background = element_blank(),
panel.border = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.title.x = element_blank(),
axis.title.y = element_blank(),
axis.text.y=element_blank(),
axis.ticks.x = element_blank(),
axis.ticks.y = element_blank(),
plot.title = element_text(hjust = 0.5, size = 20)) +
scale_x_discrete(labels = wrap_format(10)) +
geom_text(aes(y=Q1.19, label = paste(Q1.19)),
size = 2, position = position_fill(vjust = 0.7))