小白学习2-r语言与网站分析高级绘图

图形用途

  • 比较
  • 分布
  • 联系
  • 构成

    高级绘图-气泡图

数据准备


id <- c("手机数码","食品饮料","电脑办公","家居用品","母婴玩具","家用电器","服饰鞋帽","日用百货","虚拟商品","箱包礼品")
conver <- c(0.012,0.02,0.015,0.014,0.018,0.013,0.01,0.025,0.045,0.011)
pv <- c(23.19,10.89,15.09,12.11,9.6,20.29,40.59,28.66,20.43,13.84)
price <- c(3509,59,2501,509,411,3011,476,81,379,610)

颜色准备


library(RColorBrewer)
col <- brewer.pal(11,"Spectral")[2:11]#使用spectral调色板设置10个样本颜色

散点大小


cex.max <- 12
cex.min <- 3
a <- (cex.max-cex.min)/(max(price)-min(price))
b <- cex.min-a*min(price)
cex2 <- a*price+b

绘制图形


plot(pv,conver,col=col,cex=cex2,pch=16,ylim = c(0,0.06),xlab = "页面浏览量(万)",ylab = "转化率",
main=list("各类转化率-页面浏览量-客单价",cex=2),yaxt="n")
axis(2,labels=paste(seq(0,5,1),"%",seq=""),at=seq(0,0.05,0.01))
legend("topleft",legend = id,pch=16,col=col,bty="n",cex=0.8,ncol = 5,text.width = 5)
text(x=pv,y=conver,labels=price,cex=0.8)
text(x=35,y=0.052,labels="z-客单价",cex=1.3)
dev.off()

高级绘图-曲线图

数据准备


x.text <- c(1:12)
sales1 <- c(49.9,71.5,106.4,129.2,144,176,135.4,148.5,216.4,194.1,95.6,54.4)
sales2 <- c(83.6,78.8,98.5,93.4,106,84.5,105,104.3,91.2,83.5,106,92.3)
sales3 <- c(48.9,38.8,39.3,42.4,47,48.3,62,59.6,52.4,65.2,59.3,53)
sales4 <- c(42.4,33.2,34.5,39.7,52.6,70.5,62,47.6,39.1,46.8,51.1)
id <- c("帆布鞋","T恤","皮包","冲锋衣")

颜色准备


col <- c("black","red","orange","purple")

画图


plot(sales1,type="b",xaxt="n",ylim = c(0,300),col=col[1],main="月销售趋势",xlab="月份",ylab="销量(万元)")
axis(1,at=1:12,labels = x.text,tick=F)
legend(1,300,legend = id,col=col,cex=0.8,bty="n",horiz=T,text.width = 1,pch=15)
grid(nx=NA,ny=7,lwd=1,lty=2,col="blue")
lines(sales2,type="b",col=col[2])
lines(sales3,type="b",col=col[3])
lines(sales4,type="b",col=col[4])

高级画图-柱状图

  • barplot(heigth,horiz,beside=F)#besize为true时为不同组数据水平并且展示,false则为不同组数据垂直堆积展示

数据准备


id <- c("订购错误","支付失败","更换其他商品","订单重复","忘选优惠品","等待太久","测试订单","有缺货商品","已在别处购买","价格太贵","其他")
month.3 <- c(25746,8595,12832,10910,7043,2978,6934,4770,1137,1164,6926)
month.4 <- c(46496,20150,19682,14177,20703,8434,9560,5113,1804,1468,11156)
month.5 <- c(53356,26547,23271,16909,14789,12733,11545,7483,2506,1743,11869)
data <- matrix(c(month.3,month.4,month.5),ncol=3)

颜色配置


library(RColorBrewer)
col <- brewer.pal(11,"Spectral")[1:11]

画图


barplot(data,col=col,xaxt="n",beside = T,ylim=c(0,60000))
title(main=list("订单取消原因",cex=2),
sub = "月份: 3-4 品类: 帆布鞋")
axis(1,labels=c(3:5),at=c(5,18,30),tick=F)
per100 <- function(x){
x <- x/sum(x)
result <- paste(round(x*10000)/100,"%",sep="")
result
}
text(labels=c(per100(month.3),per100(month.4),per100(month.5)),cex=0.7,
x=c(seq(from=1.5,by=1,length.out = 11),seq(from=13.5,by=1,length.out = 11),seq(from=25.5,by=1,length.out = 11)),
y=c(month.3,month.4,month.5)+1000)
legend(1,60000,legend=id,pch=15,ncol=2,col=col,bty = "n",cex=0.5,text.width = 3)

高级画图-条形图

数据准备

pv =c(29123,279750,89994,15851,61741,119477,75301,65602,75924,37943,11952,34567,11894,42780,18511,9450,1011,1533)
id <- c("我的会员中心","我的订单","退换货办理","海外订单","我的收藏","礼品卡","优惠券","账户余额","会员积分","收货地址","促销信息退订",
"个人资料","关联账户","账户安全","商品评论","商品提问","邀请方式","邀请记录查询")

## 颜色配置
library(RColorBrewer)
col <- c(brewer.pal(9,"YlOrRd")[1:9],brewer.pal(9,"Blues")[1:9])

画图


barplot(pv,col=col,horiz=T,xlim = c(-30000,300000))
text(y=seq(from=0.7,length.out = 18,by=1.2),x=-15000,labels=id,cex=0.74)
title(main=list("个人中心各模板用户点击率",cex=1.5),
sub="时间: 2012.9.1-2012.9.30",ylab="个人中心模板")
legend("topright",legend = id,ncol=2,cex=0.5,pch=15,col=col,bty="n",text.width = 50000)

数轴上的标签


text(labels=paste(round(pv*10000/sum(pv))/100,"%",sep=""),cex=0.7,
y=seq(from=0.7,length.out = 18,by=1.2),x=pv+3000)

高级画图-饼图


data <- data.frame(id=c("安全性得不到保障","产品质量、售后服务","付款不便","送货耗时、渠道不畅",
"价格不够诱人","网上提供消息不可靠","其他"),
num=c(0.053,0.46,0.087,0.213,0.078,0.042,0.067))
library(RColorBrewer)
col <- brewer.pal(11,"Spectral")[3:11]
pie(data$num,col=col,xaxt="n",labels=paste(data$id,":",round(data$num*10000)/100,"%",sep=""))
title(main=list("网站退货率高的原因",cex=2),sub = "月份:3-4 品类:帆布鞋")

高级画图-复合图

数据准备


data <- data.frame(id=c("安全性得不到保障","产品质量、售后服务","付款不便","送货耗时、渠道不畅",
"价格不够诱人","网上提供消息不可靠","物流服务人员态度不好","尺码不合适",
"发现更好的商品"),
num=c(0.053,0.46,0.087,0.213,0.078,0.042,0.031,0.026,0.010))

设置分割变量和副坐标轴


split <- 6
max.bar <- 0.4

转化主副坐标轴


bar1.data <- matrix(rev(c(rep(NA,split+1),data$num[1:split],sum(data$num[-(1:split)]))),
ncol=2,nrow=split+1)
bar2.data = matrix(c(rep(NA,split+1),rev(data$num[-(1:split)]),rep(NA,nrow(data)-split+1)),
ncol=2,nrow=split+1)

配置颜色

library(RColorBrewer)
col <- brewer.pal(11,"Spectral")[3:11]

绘制主柱状图

barplot(bar1.data,col=c("azure3",col[1:split]),axes = F,ylim=c(0,1),xlim=c(0,4.5),border = "azure3")

绘制副柱状图

barplot(bar2.data*(max.bar/sum(data$num[-(1:split)])),col=col[-c(1:split)],axes = F,
add=T,border = "azure3")

链接间距


polygon(x=c(1.2,1.2,1.4,1.4),y=c(0,sum(data$num[-(1:split)]),max.bar,0),col="azure3",border="azure3")
labels=paste(round(data$num*10000)/100,"%",sep="")

主柱状图百分比数值


y1 <- 0
for(i in 1:split){y1[i]=sum(data$num[-(1:i)])}
text(x=1,y=y1+0.02,labels[1:split],cex=0.8)

副柱状图百分比数值


y2 <- 0
for (i in 1:nrow(data)-split-1){y2[i]=sum(data$num[(split+i+1):nrow(data)])}
y2
y2 <- c(y2,0)
y2 <- y2*(max.bar/sum(data$num[-(1:split)]))
y2
text(x=2,y=y2+0.02,labels[-(1:split)],cex=0.8)

图例


legend("topright",legend = data$id,pch=15,col=col,bty="n",cex=0.65,y.intersp=0.75)

高级绘图-面积堆积图

  • 绘制百分比面积堆积图
    ggplot(data=,mapping=aes())+geom_area(postion="fill")
  • 绘制面积堆积图:ggplot(data=,mapping=aes()+geom_area())
    par(mfrow=c(3,1))

    hist(pv,main="页面浏览量的直方图:统计尺度间隔为3",xlab="页面浏览量(万)",breaks=seq(220,280,3))
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值