我正在使用ggplot生成一个由因子堆叠的条形图。我使用以下代码
ggplot(X) +
geom_bar(aes(X$Decade, fill=factor(X$Motivation)),
position='fill') +
theme(legend.position = "bottom")+
theme(axis.title.x = element_text(size = 20),
axis.title.y = element_text(size = 20))+
theme(text = element_text(size=20))+
theme(legend.text = element_text(size = 16),legend.title = element_blank())+
xlab("Decade")+
ylab("Percentage")+
scale_y_continuous(labels=percent)
但是程序会发出以下警告,
警告讯息: position_fill需要不重叠的x区间
结果数字如下
在1940年的十年中似乎是警告。当1940年的观察结果为时
我不知道这里有什么问题,因为其他观察看起来像1940年那样,当我删除了1940年的观察结果时,再也没有警告了。
答案 0 :(得分:0)
尝试将x变量(十年)变成一个因子。不幸的是,我们无法测试您的代码,因为您没有提供数据的代表。另外,正如评论者所述,您不应该使用X $ Decade,因为在ggplot中,您已经加载了X作为数据集。
ggplot(X) +
geom_bar(aes(factor(Decade), fill=factor(Motivation)), position='fill')