0
我在ggplotbarplot數據不對應於圖例
data_age <- data.frame(age = as.factor(c("16 to 20", "21 to 24", "25 to 30", "31 to 40", "40+")),
total = c(740, 1092, 855, 525, 182),
perc_total = c(22, 32, 25, 15, 5))
g_age <- ggplot(data_age , aes(1, perc_total, fill = age, label = perc_total)) +
geom_bar(stat ="identity") +
geom_text(size = 4, position = position_stack(vjust = 0.5), colour = "black") +
coord_flip() +
scale_y_continuous(limits = c(0, 100)) +
scale_x_continuous(limits = c(0, 2), breaks = 1) +
scale_fill_manual(guide = guide_legend(title = NULL, keyheight = 0.5, keywidth = 0.5, direction = "horizontal"), values = c("#FFFFB2", "#FECC5C", "#FD8D3C", "#F03B20", "#BD0026")) +
theme_bw() +
theme(plot.title = element_blank(), axis.title.x = element_blank(), axis.title.y = element_blank(), axis.text.y = element_blank(), axis.ticks.y = element_blank(),
axis.text.x = element_blank(), axis.ticks.x = element_blank(), panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
legend.position="bottom")
製造堆疊barplot但是我所需要的數據的被反轉的順序將下面的代碼。我可以通過執行實現下列
g_age_2 <- ggplot(data_age , aes(1, perc_total, fill = levels(age)[5:1], label = perc_total)) +
geom_bar(stat ="identity") +
geom_text(size = 4, position = position_stack(vjust = 0.5), colour = "black") +
coord_flip() +
scale_y_continuous(limits = c(0, 100)) +
scale_x_continuous(limits = c(0, 2), breaks = 1) +
scale_fill_manual(guide = guide_legend(title = NULL, keyheight = 0.5, keywidth = 0.5, direction = "horizontal"), values = c("#BD0026", "#F03B20", "#FD8D3C", "#FECC5C", "#FFFFB2")) + ## Inverted the colors too
theme_bw() +
theme(plot.title = element_blank(), axis.title.x = element_blank(), axis.title.y = element_blank(), axis.text.y = element_blank(), axis.ticks.y = element_blank(),
axis.text.x = element_blank(), axis.ticks.x = element_blank(), panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
legend.position="bottom")
And this plot follows the order and the colors that I want, but the legend does not match
我該如何解決這個問題?
這很完美!我適應了我的原始代碼,它按照我的意圖工作 – luizgg