我在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")
答案 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))