Я хотел бы, чтобы метки были только в верхней части моего столбчатого графика с накоплением.
Вот мой фрейм данных:
#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")
И мой составной барный сюжет:
#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")
Я хотел бы иметь такие метки в geom_text()
в моем коде для построения графика (высота синей полосы / высота всей полосы). Его следует поместить в синюю область. Как я могу это сделать?
percentage <- nonoccupiable/(nonoccupiable+occupiable)
и добавлю к строке ggplotgeom_text(aes(y=percentage, label = paste(round(percentage*100,0),"%",sep="")), size = 3, hjust = 0.5, vjust = 3)
, я получу ошибку:Aesthetics must either be length one, or the same length as the dataProblems:percentage
. - person jjankowiak   schedule 21.04.2014