关于ggplot2作图的问题,不少人关心如何将多个图形组合在一起,下面给大家分享一个网上的例子,下图就是最后的结果。画这个图有几个障碍,一个是二维散点的置信椭圆,另一个是一维直方图的边缘显示。解决的方法是用ellipse包来生成置信椭圆数据,并且用gridExtra包来组合多个图形,还要用opts来去除图例标注的显示。
# 读入数据和加载包
data
library(ggplot2)
library(ellipse)
library(gridExtra)
library(plyr)
library(ReadImages)
#建立一个函数以生成置信椭圆
generatfun
as.data.frame(with(data,ellipse(cor(a,b),scale=c(sd(a),sd(b)),
level=x,centre=c(mean(a),mean(b)))))}
# 根据不同的置信度来生成多个数据框并整合
i
data2
names(data2)
# 绘制主图散点图,并将图例去除,这里point层和path层使用了不同的数据集
scatter
geom_point(data=data,aes(a,b,shape=type))+
geom_path(data=data2