R ggplot2:有序几何图形栏上的几何图形文本标签

R ggplot2:有序几何图形栏上的几何图形文本标签,r,ggplot2,label,R,Ggplot2,Label,我在ggplot条形图上的有序条形图上绘制值标签时遇到问题(我认为这与我根据条形图的值重新排序有关)。非常感谢您的帮助。下面是一个dput()我的数据示例,以及我当前使用的代码和相关的错误消息。提前为冗长的dput()道歉 test当您为geom_text()使用另一个数据帧时,您应该为geom_text()提供x和y变量,并将inherit.aes=FALSE添加到geom_text()以确保ggplot()调用中定义的变量名被geom_text()忽略。另外,我认为您需要使用stat\u s

我在ggplot条形图上的有序条形图上绘制值标签时遇到问题(我认为这与我根据条形图的值重新排序有关)。非常感谢您的帮助。下面是一个
dput()
我的数据示例,以及我当前使用的代码和相关的错误消息。提前为冗长的
dput()道歉


test当您为
geom_text()
使用另一个数据帧时,您应该为
geom_text()
提供x和y变量,并将
inherit.aes=FALSE
添加到
geom_text()
以确保
ggplot()
调用中定义的变量名被
geom_text()
忽略。另外,我认为您需要使用
stat\u summary()
来显示每个
区域的值之和

ggplot(test, aes(x=reorder(OPReason,Amount,function(x) -sum(x)),
                         y=(Amount/1000), fill=Area))+ 
  stat_summary(fun.y=sum,geom="bar",position="stack")+
  geom_text(data=sums,aes(label=tot,x=OPReason,y=tot/1000),inherit.aes=FALSE)

哇,那很容易。我对此感到困惑,因为我在另一个数据集上成功地使用了我的原始代码;然而,我使用的是stat_summary而不是geom_bar,这可能是不同之处?奇怪。我必须弄清楚是什么让这项工作在以前的时间里……geom_bar()在数据顺序正确的情况下工作。geom_bar()的问题是,您将许多小条堆叠在一起,但stat_summary()实际上对值求和。明白了。我在
ggplot2
方面还不是很清楚,但总体而言,
stat_summary
似乎是一种更简洁/稳健的方式来指定所需的视觉和美学,而不是几何类型(
geom_bar
geom_line
),是的,没错-如果需要求和,那么使用stat_summary()或在打印前预计算值。
ggplot(test, aes(x=reorder(OPReason,Amount,function(x) -sum(x)),
                         y=(Amount/1000), fill=Area))+ 
  stat_summary(fun.y=sum,geom="bar",position="stack")+
  geom_text(data=sums,aes(label=tot,x=OPReason,y=tot/1000),inherit.aes=FALSE)