如何正确使用具有相同名称的两行geom_bar?

问题描述

DataSet

我有这个数据集,并且想要创建一个与我提供的相似的geom_bar。

Geom_bar

我希望geom_bar图的每一行都具有相同的名称,但具有不同的颜色。 与此类似:

perfect expample.

解决方法

也许您正在寻找这个。您有多个计数值。因此,您可以按NumAccounts分组并创建一个参考变量,以便可以将每个值绘制在一个条形图中。为此,您可以使用mutate()dplyr中的group_by()来获得这样的id变量。然后可以设计绘图(请下次使用dput()包含数据样本)。这里的代码:

library(ggplot2)
library(dplyr)
#Data
df <- data.frame(NumAccounts=c(1,2,3,1,3),MeanNumAccounts=c(73.36,64.74,431.5,340.98,226.14,693))
#Mutate group
df %>% group_by(NumAccounts) %>% mutate(ID=1:n()) %>%
  ggplot(aes(x=factor(NumAccounts),y=MeanNumAccounts,fill=factor(NumAccounts),group=factor(ID)))+
  geom_bar(stat = 'identity',color='black',position = position_dodge(0.9))

输出:

enter image description here

更个性化的解决方案是:

#Code 2
df %>% group_by(NumAccounts) %>% mutate(ID=1:n()) %>%
  ggplot(aes(x=factor(NumAccounts),position = position_dodge(0.9))+
  labs(fill = 'NumAccounts',x='NumAccounts') 

输出:

enter image description here