Need help with the aligning of the labels on the barplot.
Here is the reproducible code:
library(ggmap)
library(ggplot2)
library(gganimate)
library(readxl)
library(animation)
mydf1<-structure(list(year = c(1994, 1995, 1997, 1997, 1998, 1998, 2000,
2000, 2001, 2001, 2002, 2002, 2004, 2005, 2005, 2006, 2006, 2007,
2007, 2008, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2015,
2016, 2016, 2016, 2016), N = c(3L, 1L, 1L, 4L, 1L, 4L, 1L, 2L,
1L, 5L, 1L, 2L, 1L, 1L, 4L, 1L, 3L, 1L, 2L, 1L, 5L, 2L, 2L, 6L,
4L, 1L, 1L, 2L, 1L, 1L, 3L, 4L, 1L), channels = c(86, 24, 24,
68, 6, 34, 22, 10, 14, 24, 16, 43, 4, 20, 56, 15, 20, 8, 11,
24, 44, 9, 23, 65, 20, 12, 5, 43, 5, 4, 24, 53, 14),
reliability = c(0.466666666666667,
1, 0.2, 0.8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), type = c("OIL", "LNG",
"AGS", "OIL", "LNG", "OIL", "LNG", "OIL", "LNG", "OIL", "LNG",
"OIL", "OIL", "LNG", "OIL", "LNG", "OIL", "LNG", "OIL", "LNG",
"OIL", "OIL", "OIL", "OIL", "OIL", "OIL", "LNG", "LNG", "OIL",
"AGS", "LNG", "LNG*", "OIL")), .Names = c("year", "N",
"channels", "reliability", "type"), row.names = c(NA, -33L), class = "data.frame")
p3<-ggplot(data=mydf1, aes(x=year, y=channels, frame=year, cumulative=TRUE, fill=type))+
geom_bar(stat="identity")+labs(x="year", y="y")+
geom_text(aes(label=channels), vjust=1, color="white", size=3)+theme_minimal()+
ggtitle("Data here", "statistics")
p3
The problem is in the positions of the labels - they don't match the corresponding bars. See the picture for explanation.

How to add labels in the middle of the corresponding bar?
With recent updates to ggplot2, you can do this by setting position = position_stack(vjust = 0.5) in geom_text().
It may also interest you that you can use geom_col() as a shortcut for geom_bar(stat = "identity"). Also, labs has a title and subtitle parameter, so you don't need to use it and ggtitle.
ggplot(data = mydf1, aes(x = year, y = channels, fill = type, frame = year, cumulative = TRUE)) +
geom_col() +
labs(x = "year", y = "y", title = "Data Here", subtitle = "Statistics") +
geom_text(aes(label = channels), color = "white", size = 3, position = position_stack(vjust = 0.5)) +
theme_minimal()

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With