ggplot2使用范例

#总体框架设置,其中的参数将应用于所有图层,包括x/y轴、数据集、分组、颜色
p<-ggplot(data=w,xlim=c(0,3),mapping = aes(x = x项, y = y项,group=部门,color=部门))


#注意以下命令的+号在行末尾,如果放在下一行开头则会报错
#分项参数可以覆盖框架参数,如果第一个参数无名称则被识别为mapping,要求尽量所有参数都指明名称,否则容易报错
#x/y放在aes中,注意需要识别为变量的参数要在aes()里面,识别为常量的参数在aes()外面,这在color参数上可以体现出来
p+geom_density(mapping=aes(奖金系数),color='darkblue',data=w)+
  geom_density(aes(X1_NEW,color=部门),data=d)+xlim(0,3)+
  geom_point(aes(奖金系数,X1_NEW),data=w)


#分片,scales的free表示各组自行调整坐标
p+geom_density(mapping=aes(奖金系数),data=d)+facet_wrap(分公司~部门,ncol=2,scales="free")


#直方图+核密度图,使用y=..density..调整纵坐标
ggplot(w,aes(y=..density..))+geom_histogram(aes(奖金系数),bins=100)+
  geom_density(aes(奖金系数))


#百分比堆积条形图,普通堆积是stack,簇状是dodge,color是边界线条颜色,fill是填充颜色
p+geom_bar(aes(w$等级,color=部门,fill=部门),position='fill',w)


#分组箱形图,注意分组依据需要as.factor(),theme部分去除图例,outlier.shape不显示极值点,size密度图设置线宽,设置xy轴标签,取消背景色、图例
p<-ggplot(data=d,mapping = aes(group=date,color=date))  
p+geom_boxplot(aes(x=date,y=score),outlier.shape= NA)+theme(legend.position = "none")
p+geom_density(aes(cash),size=0.8)+xlim(0,20)
p+geom_boxplot(aes(x=part,y=cash),outlier.shape= NA,size=1)+ labs(title = "",x = "分组",y = "消费")+ylim(1000,100000)+ theme(legend.position = "none",panel.background = element_blank())


#将多个/多组图像组合在一起,上面是生成图像,下面是摆放图像,图像可以是任意选择,包括普通图像、ggplot2图、ggplot2分片图
p1<-ggplot(d,aes(y=..density..))+geom_histogram(aes(X1_NEW*0.5),fill='yellow',bins=100)+
  geom_density(aes(X1_NEW*0.5),color='blue')+facet_wrap(~部门)+xlim(0,3)
p2<-ggplot(d,aes(y=..density..))+geom_histogram(aes(X2_NEW*0.3),fill='yellow',bins=100)+
  geom_density(aes(X2_NEW*0.3),color='blue')+facet_wrap(~部门)+xlim(0,3)
p3<-ggplot(d,aes(y=..density..))+geom_histogram(aes(X完成),fill='yellow',bins=100)+
  geom_density(aes(X完成),color='blue')+facet_wrap(~部门)+xlim(0,3)


grid.newpage()
pushViewport(viewport(layout = grid.layout(2, 2)))
vplayout = function(x, y) viewport(layout.pos.row = x, layout.pos.col = y)
print(p1, vp = vplayout(1, 1))
print(p2, vp = vplayout(1, 2))
print(p3, vp = vplayout(2, 1:2))


#打印为pdf,先开文件再画图再关闭文件。类似的还有jpeg(),但图像非常模糊,不推荐。family="GB1"是设置中文字体,只有这种字体可显示中文。
pdf(file="D:/baidu/Desktop/a.pdf",width =20,height = 15,family="GB1")
grid.newpage()
pushViewport(viewport(layout = grid.layout(2, 2)))
vplayout = function(x, y) viewport(layout.pos.row = x, layout.pos.col = y)
print(p1, vp = vplayout(1, 1))
print(p2, vp = vplayout(1, 2))
print(p3, vp = vplayout(2, 1:2))
dev.off()
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值