ggplot2 position=dodge с ошибочными метками

Я пытаюсь построить простую гистограмму с метками в ggplot2. Однако, когда я использую position=dodge, это приводит к неправильным меткам в результирующем графике, например. 17,6% вместо 77,7% для грузовых автомобилей. Мои данные и код ниже.

library(ggplot2)

mode <- factor(c("Truck", "Rail","Water","Air","Other"), levels=c("Truck", "Rail","Water","Air","Other"))
Year <- factor(c("2011","2011","2011","2011","2011","2040","2040","2040","2040","2040"))
share <- c(0.709946085, 0.175582806, 0.11392987, 0.000534132, 0.00000710797, 0.777162621, 0.133121584, 0.088818658, 0.000880041, 0.000017097)
modeshares <- data.frame(Year, mode, share)

theme_set(theme_grey(base_size = 18)) 

modeshares$lab <- as.character(round(100 * share,1))
modeshares$lab <- paste(modeshares$lab,"%",sep="")

ggplot(data=modeshares, aes(x=mode, y=share*100, fill=Year, ymax=(share*100))) + geom_bar(stat="identity", position="dodge") + labs(y="Percent",x="Mode") +geom_text(label=modeshares$lab,position=position_dodge(width=1),vjust=-0.5)

Полученный график показан ниже.Modeshares

Любое понимание того, как обеспечить отображение правильных значений меток, будет высоко ценится.

Спасибо!

0 ответов

Другие вопросы по тегам