R 如何劫持a";上的y轴;“否定”;堆叠长条图

R 如何劫持a";上的y轴;“否定”;堆叠长条图,r,ggplot2,R,Ggplot2,我试着用一个叠加条形图来显示两组值,这样两组中测量同一域的值沿着相反的方向移动,类似于一个叠加的负条形图。我“劫持”了一个堆叠条形图,通过将一组值设置为负值来实现这一点。这给了我想要的形象;但是,我想从底部堆叠的条组中移除底片。有办法做到这一点吗?另外,我想知道为什么条形几何图形中的width=选项不调整条形的宽度?例如,当我在geom_bar规范中添加宽度=0.5作为选项时,我得到错误: 警告消息: 当ymin!=0 无论如何,提前感谢你能提供的任何帮助。我的示例代码如下所示: test我以为

我试着用一个叠加条形图来显示两组值,这样两组中测量同一域的值沿着相反的方向移动,类似于一个叠加的负条形图。我“劫持”了一个堆叠条形图,通过将一组值设置为负值来实现这一点。这给了我想要的形象;但是,我想从底部堆叠的条组中移除底片。有办法做到这一点吗?另外,我想知道为什么条形几何图形中的width=选项不调整条形的宽度?例如,当我在geom_bar规范中添加宽度=0.5作为选项时,我得到错误:

警告消息:
当ymin!=0

无论如何,提前感谢你能提供的任何帮助。我的示例代码如下所示:

test我以为in
geom_bar
已经解决了,但是出于某种原因,我仍然在0.9.2.1中看到它。我可能在这方面遗漏了一些东西,但是设置
aes()内部宽度的老方法仍然适用于我

另外,我想你的意思是你希望0以下的y轴标签不是负数,但是你的问题不是很清楚。如果我是对的,那么这可能就是你想要的:

abs_format <- function(){
    function(x){
        abs(x)
    }
}

p <- ggplot(test, aes(x= Mode, y=Value, fill= Mode,width = 0.1)) + 
        geom_bar(color = "black", stat="identity", data=subset(test, Side == "Axis")) +
        geom_bar(color = "black", stat="identity", data=subset(test, Side == "Allies")) +
        scale_fill_brewer(type = "seq", palette = 1) + 
        guides(fill=FALSE) + 
        scale_y_continuous(breaks=seq(-100, 100,10),labels = abs_format())

abs\u格式Joran,我为混淆道歉。那正是我想要的!非常非常感谢!