绘制堆积的条形图 - 修改

时间:2018-05-04 12:46:52

标签: r plot ggplot2 graph

我有4个数据框,它们都有一个名为Results的列,显示Wins,Draws,Lossses。我想创建一个分层的直方图,如下图所示。是否可以在R中实现?

enter image description here

这就是我正在玩的:

ggplot(results, aes(x = Country, y = ??)) + 


 geom_bar(aes(fill = Performance), stat = "identity")

问题是我不知道应该将y轴设置为什么。这些应该是计数

我尝试的另一个选项几乎就是我想要的:

counts <- table(results$Performance, results$Country)
barplot(counts, main="Game Count per Football Team",
        xlab="Football Teams", ylab = "Game Count", col=c("darkblue","red", "Yellow"),
        legend = rownames(counts))

尽管y轴在800处停止,尽管我在其中一个国家/地区最多有908个观测值

1 个答案:

答案 0 :(得分:0)

好吧,我可以给你一些代码,告诉你如何做到这一点。你基本上只想要四个不同的geom_bar语句。

为了演示,我将根据mpg包附带的ggplot2数据集创建两个不同的数据框,因为您没有提供任何数据。

library(tidyverse)

# I'm making two different data frames from the
# 'mpg' dataset, which comes with the ggplot package
mpg$year = as.character(mpg$year)
df1 = filter(mpg, year == "1999")
df2 = filter(mpg, year == "2008")

plot = ggplot() +
  geom_bar(data=df1
           , aes(x = year, y = hwy, fill = manufacturer)
           , stat = "identity") +
  geom_bar(data=df2
           , aes(x = year, y = hwy, fill = manufacturer)
           , stat = "identity")

print(plot)

enter image description here