R中的分组图/图

时间:2014-04-09 06:53:21

标签: r plot

我想按照下面显示的数据集按组创建图表。

    Type    Group   price
1   Fair    Cut 4405.202
2   Good    Cut 4053.888
3   Very Good   Cut 4175.925
4   Premium Cut 4779.045
5   Ideal   Cut 3654.54
6   D   Color   3485.46
7   E   Color   3291.415
8   F   Color   3760.281
9   G   Color   4091.388
10  H   Color   4610.674
11  I   Color   5083.602
12  J   Color   5173.224

特别是,我想在垂直轴上创建"price"的图表,在"Type"的水平轴上创建Group = "Cut",并为Group="Color"创建相似的图表。我的数据集中有更多组,我想为所有其他组自动执行此过程。我已经尝试了几个选项,包括使用ggplot和group by facet,但是我从ggplot获得的图表对于每个Group都不是唯一的。 任何帮助将不胜感激。

感谢。

此致 菲利普

1 个答案:

答案 0 :(得分:1)

阅读数据:

df <- read.table(text="Type    Group   price
Fair    Cut 4405.202
Good    Cut 4053.888
Very_Good   Cut 4175.925
Premium Cut 4779.045
Ideal Cut 3654.54
D   Color   3485.46
E   Color   3291.415
F   Color   3760.281
G   Color   4091.388
H   Color   4610.674
I   Color   5083.602
J   Color   5173.224", header=TRUE)

加载ggplot包:

require(ggplot2)

创建一个刻面图:

ggplot(data=df, aes(x=Type,y=price)) +
  geom_bar(stat="identity") +
  facet_grid(Group~.) + 
  theme_bw() # making the plot a little more pretty

ggplot内的数据设置为仅包含一个组的图:

ggplot(data=df[df$Group=="Cut",], aes(x=Type,y=price)) +
  geom_bar(stat="identity", fill="grey90", color="blue") + # making plot look better with 'fill' & 'color' parameters
  theme_bw()