R - 使用ggplot绘制多个图

时间:2015-07-20 22:43:19

标签: r ggplot2

我有这个小数据集

map red_team blue_team
 1     7         8
 2     21        32
 3     11        22
 4     10        8

我正在尝试创建一个多时隙,其中每个单独的图表代表一个地图(1,2,3和4),内容是两个条形,一个用于red_team,另一个用于X轴上的blue_team和Y轴上的分数。

这就是我现在所拥有的。

ggplot(winners_and_score, aes(red_team)) + geom_bar() + facet_wrap(~ map)

我在试图显示两支球队的得分时遇到了问题。

Current plot

感谢。

1 个答案:

答案 0 :(得分:4)

require(reshape2)
require(ggplot2)

# toy data
df = data.frame(map = 1:4, red_team = sample(7:21, 4, replace=T), 
                               blue_team = sample(8:32, 4, replace=T))

df.melted <- melt(df, id='map')

> df.melted
  map  variable value
1   1  red_team     8
2   2  red_team    15
3   3  red_team    17
4   4  red_team    19
5   1 blue_team    22
6   2 blue_team    32
7   3 blue_team    31
8   4 blue_team    18

# making the plot
ggplot(data=df.melted, aes(x=variable, y=value, fill=variable)) + 
       geom_bar(stat='identity') + 
       facet_wrap(~map) + 
       theme_bw()

enter image description here