Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R ggplot水平减淡条形图顺序_R_Ggplot2 - Fatal编程技术网

R ggplot水平减淡条形图顺序

R ggplot水平减淡条形图顺序,r,ggplot2,R,Ggplot2,我想创建一个简单的水平条形图与道奇酒吧,但我与单杠的顺序挣扎。当我做叠加或减淡的正常条形图时,我可以通过设置有用的因子级别和根据相应变量对数据帧排序,轻松控制条形图的顺序。但是,数据框的顺序似乎对水平图中条形图的顺序没有任何影响。 我发现了一些类似的问题,但我不确定它们是否与我的问题相符——情节看起来有点不同 df1 <- data.frame (year = as.factor(c(rep(2015,3),rep(2016,3),rep(2017,3))), value = c(50,3

我想创建一个简单的水平条形图与道奇酒吧,但我与单杠的顺序挣扎。当我做叠加或减淡的正常条形图时,我可以通过设置有用的因子级别和根据相应变量对数据帧排序,轻松控制条形图的顺序。但是,数据框的顺序似乎对水平图中条形图的顺序没有任何影响。 我发现了一些类似的问题,但我不确定它们是否与我的问题相符——情节看起来有点不同

df1 <- data.frame (year = as.factor(c(rep(2015,3),rep(2016,3),rep(2017,3))),
value = c(50,30,20,60,70,40,20,50,80),
set = rep(c("A","B","C"),3) )

ggplot() + geom_bar(data= df1, aes(y=value, x=set, fill=year), 
stat="identity", position="dodge" ) +
coord_flip()
我想要的是一个水平图,上面显示2015年的条形图,底部显示2017年的条形图。有趣的是,当我省略coord_flip时,这些条是按这种方式排列的,但我需要图是水平的。 以这种方式排列数据不会改变绘图:

df1 <- df1[rev(order(df1$year)),]
我很感谢您的提示:

你已经发现了ggplot2的一个特点——coord_flip之后的酒吧顺序变得有点不直观。要改变它,您必须颠倒df1$year中因子水平的顺序,而不仅仅是值本身。见下文:

图书馆GGPLOT2 df1[1]2015 2016 2017 df1$年 你已经发现了ggplot2的一个特点——coord_flip之后的酒吧顺序变得有点不直观。要改变它,您必须颠倒df1$year中因子水平的顺序,而不仅仅是值本身。见下文:

图书馆GGPLOT2 df1[1]2015 2016 2017
df1$年完美,非常感谢!我试图改变因子水平,但guidesfill=guide\u legendreverse=TRUE确实起到了作用。不久前我也遇到过类似的问题,但我完全忘记了这句改变传奇顺序的好话:太好了,非常感谢!我试图改变因子水平,但guidesfill=guide\u legendreverse=TRUE确实起到了作用。不久前我也遇到过类似的问题,但我完全忘记了这句改变图例顺序的漂亮的话: