那里。所以,这是我的代码:
library(ggplot2); library(scales); library(reshape2);
da1 <- read.table(text = "NÃO SIM
5 1
24 44
",sep = "",header = TRUE)
da1m <- melt(cbind(da1, ind = rownames(da1)), id.vars = c('ind'))
da1m$Resposta <- c( "NÃO", "SIM", "NÃO", "SIM" )
names(da1m) <- c("Resposta", "variable", "value")
ggplot(da1m,aes(x = variable, y = value,fill = Resposta)) +
geom_bar(position = "fill",stat = "identity", colour = "black") +
scale_y_continuous(labels = percent_format())+
labs(title = "Gráfico 1", x="Gosta de utilizar o R",
y="Há interessse em aprimorar os conhecimentos em R")+
scale_fill_manual(values=c("#E69F00", "#56B4E9"))+
geom_text(aes(label=value), position=position_dodge(width=0.9),
vjust=-0.5)
这就是我得到的:
我做错了什么?当我尝试添加频率时,图表奇怪地开始也是geom_text
的功能。
答案 0 :(得分:0)
为了便于说明,这里有两个不同的文本标签定位选项,但您可以根据需要更改这些选项:
library(dplyr)
# Add two position locations for text labels (centered and top)
da1m = da1m %>% group_by(variable) %>%
mutate(y.pos.ctr = cumsum(value) - 0.5*value,
y.pos.top = cumsum(value))
ggplot(da1m, aes(x=variable, y=value, fill=Resposta)) +
geom_bar(stat = "identity", colour = "black") + # get rid of position="fill"
#scale_y_continuous(labels = percent_format()) + # y values don't seem to be percentages
labs(title = "Gráfico 1", x="Gosta de utilizar o R",
y="Há interessse em aprimorar os conhecimentos em R")+
scale_fill_manual(values=c("#E69F00", "#56B4E9")) +
geom_text(aes(label=value, y=y.pos.ctr), colour="white") + # Centered value labels
geom_text(aes(label=value, y=y.pos.top), colour="red") # Value labels at top of each bar section