I would like to have labels on only the top part of my stacked bar plot.
Here is my data frame:
#create data frame
building <- c("Burj \nKhalifa", "Zifeng \nTower", "Bank of \nAmerica Tower",
"Burj Al Arab", "Emirates \nTower One", "New York \nTimes Tower",
"Emirates \nTower Two", "Rose Rayhaan \nby Rotana", "The \nPinnacle",
"Minsheng \nBank Building")
occupiable<- c(585, 317, 235, 198, 241, 220, 213, 237, 265, 237)
nonoccupiable <- c(244, 133, 131, 124, 113, 99, 97, 96, 95, 94)
df.build <- data.frame(building, occupiable, nonoccupiable)
#melt data frame for stack bar plot
df.build2 <- melt(df.build, id.vars="building")
And my stacked bar plot:
#comparision true and percived values
ggplot(df.build2, aes(x=reorder(building, -value), y=value, fill=variable)) +
geom_bar(stat="identity") +
xlab("") +
ylab("") +
#geom_text(aes(label = c("29%" "30%", "36%", "39%", "32%", "31%", "31%", "29%", "29%", "28%")), size = 3, hjust = 0.5, vjust = 3, position = "stack") +
theme(legend.position="top") +
ggtitle("Porównanie wartości prawdziwych i odczuwalnych")
I would like to have labels like this in geom_text()
in my code for plotting (height of blue bar/height of whole bar). It should be placed in the blue area. How can I do it?