将数据添加到现有的ggplot2图中

时间:2014-01-14 17:55:40

标签: r ggplot2

我在cars数据集上使用ggplot2包。我创建了一个基于制造商的网格和按类编码的颜色。

我想做的是: 从数据集mdat.Data添加到网格中的每个绘图应该表示为数据点。 我希望看到的输出是mdat中的数据在每个图中表示为点,类应该添加到图例中,我希望每个点用不同的颜色和形状表示。我不确定如何做到这一点,任何帮助表示赞赏。

非常感谢!

## Sample data
   p <- ggplot(mpg, aes(x=hwy, y=cty))
   p<- p + facet_grid(. ~ manufacturer) + facet_wrap(~manufacturer) 
   p<- p + geom_point(aes(colour = class), size = 7)
   p<- p + scale_colour_brewer()
   p<- p + geom_point(shape = 1, size = 7,  alpha = I(0.7))
   print(p) 



 ##now add on the randomn portfolios on another grid
   hwy = c("35", "40", "25")
   cty = c("20", "25", "10")
   mdat <- data.frame(hwy,cty)
   mdat$class <- c("generic1", "generic2", "generic3")

enter image description here

1 个答案:

答案 0 :(得分:5)

首先,在您的数据框mdat中,不要使用数字周围的引号,因为这会使它们成为字符。

mdat <- data.frame(hwy = c(35, 40, 25),
                   cty = c(20, 25, 10))
mdat$class <- c("generic1", "generic2", "generic3")

如果您需要使用不同颜色表示那些新点,然后对现有点进行分类,那么最好使用允许设置填充的形状,因此它们使用不同的比例。

p+geom_point(data=mdat,aes(hwy,cty,shape=class,fill=class),size=7)+
  scale_shape_manual(values=c(21,22,23))

enter image description here