防止ggplot条形图沿x轴移动

时间:2017-08-31 04:51:04

标签: r ggplot2 bar-chart

我有一个长格式的数据框,我想要barplot:

        seccion             variable value
1        1                   pt     2
2        2                   pt     0
3        3                   pt     3
4        4                   pt     0
5        1 movimiento_ciudadano     5
6        2 movimiento_ciudadano     2
7        3 movimiento_ciudadano     7
8        4 movimiento_ciudadano     4
9        1        nueva_alianza   752
10       2        nueva_alianza    51
11       3        nueva_alianza   248
12       4        nueva_alianza    25
13       1               morena   114
14       2               morena    21
15       3               morena    24
16       4               morena    19  

当我运行此行时

    ggplot(molten_, aes(x=seccion, y=value, fill=variable)) + 
  geom_bar(stat="identity", position="dodge") + facet_wrap(~seccion) +
  scale_fill_manual(values=c("red","orange", "turquoise", "tomato3",
                              "gray60","gray40","purple","blue", 
                              "green", "gray40")) +
  labs(title="acajete")

条形图沿x轴移动,如下所示:

enter image description here

我认为这是关于x的映射,我该如何避免这种情况?

1 个答案:

答案 0 :(得分:1)

这里的问题是你对x变量和facet使用seccion。因此,当变量= 1时,它出现在方面1中,变量= 2位于方面2中,依此类推。

我认为您希望将variable用于x变量,将seccion用于构面。当我使用您的示例数据执行此操作时,我得到了:

ggplot(molten_, aes(variable, value)) + 
  geom_col(aes(fill = variable)) + 
  facet_wrap(~seccion) + 
  theme(axis.text.x = element_blank())

enter image description here