条形图,y 轴上有计数,x 轴上有年份,有 2 个颜色组

Bar plot with count on yaxis and year on x axis with 2 color groups

对于了解 ggplot2 的人来说这可能会很容易,所以也许有人可以为我做一个快速绘图:) 这是我想要得到的示例数据和描述。

    Year <- c(1991, 1992,1995,1991,1992,1992)
    Type <- c("B", "B", "D", "D", "D", "D")
    df <- data.frame(Year, Type)
    df
  Year Type
1 1991    B
2 1992    B
3 1995    D
4 1991    D
5 1992    D
6 1992    D

我想用 ggplot2 创建一个条形图,在 X 轴上我有不同的年份,在 Y 轴上有年份的计数,比如 1992 年有 3 年,并将条形图分成 B 和 D 的颜色。我我想我不知何故必须数数。一组相同年份的数据,然后将其添加到数据框中,但我不知道该怎么做。

df1 <-df %>% 
  count(Year, Type) %>%
  mutate(Freq = n/sum(n))

ggplot(df1, aes(x=Year, y=Freq, fill=Type))+  
  geom_bar(stat="identity") + 
  geom_text(aes(label=scales::percent(Freq)), position = position_stack(vjust = .5))+
  theme_classic() + 
  labs(title = "", x = "Year", y = "%", fill="Type")+  
  scale_fill_discrete(name= "Type")

或者您可以使用 count(Year, Type)

df1 <-df %>% 
  count(Year, Type) 


ggplot(df1, aes(x=Year, y=n, fill=Type))+  
  geom_bar(stat="identity") + 
  geom_text(aes(label=n), position = position_stack(vjust = .5))+
  theme_classic() + 
  labs(title = "", x = "Year", y = "Count", fill="Type")+  
  scale_fill_discrete(name= "Type")