我有几十个情节要复杂得多,但出于某种原因,我的大脑没有解决这个问题。
给出数据和代码..。
# libraries
require(ggplot2)
require(dplyr)
require(tidyr)
# create data
data <- data.frame("When"=c("(2008 - 2009)","(2010 - 2011)","(2012 - 2013)","(2014-2015)","Cannot Remember"),
"Friend"=c(2,7,15,3,0),
"News Website"=c(2,10,8,3,1),
"Printed Newspaper"=c(0,1,3,0,0),
"Academic Paper"=c(0,0,2,0,0),
"Online Forum"=c(6,16,25,6,1),
"Cannot Remember"=c(1,3,7,2,1)
)
# reshape to long format
data <- gather(data,var,val,2:7)
# plot stacked bar
ggplot(data[which(data$val>0),],aes(x=When, Y=val)) +
geom_bar( aes(fill=var))
我得到了一个堆叠的条形,甚至试着按照this post进行整形,但是这些条(和子栏)绝对不是表中的值,在第6位的时候,我无法理解为什么。到目前为止,我已经做了两个小时的摆弄了,但我做不到。
有人能救我的大脑吗?
发布于 2016-04-23 11:34:35
嗨,您的Y
大写在您的aes
中,您必须设置stat = "identity"
,尝试:
ggplot(data[which(data$val>0),],aes(x=When, y=val)) +
geom_bar( aes(fill=var), stat = "identity")
https://stackoverflow.com/questions/36810195
复制相似问题