R笔记(绘图)

R笔记:

setwd("F:\\R基础")
getwd()
#R绘图示例
demo(graphics)  #二维
demo(persp)  #三维
#####1.绘图区域分割#####
#函数par() 
#首先,准备绘图数据:从外部读取或随机数生成
dat=read.table("online shopping.txt",header=T)
attach(dat)
set.seed(1234)
x=rnorm(1000)
x=x[x<0]
y=data.frame(x1=1:5,x2=rnorm(5,0,1),x3=rgamma(5,2,3))
#将区域分为4个部分
par(mfrow=c(2,2))
#分别输入4个绘图命令
plot(period,amount)
hist(x,xlim=range(x),main="hist of x",freq=F,nclass=30,density=20,angle=45)
matplot(y,type="l",col=1:3)
plot(period,amount,pch=22,col="red",bg="yellow",cex=1.5)
title("online shopping",font.main=3,adj=1)

#函数layout()
layout(matrix(1:4,2,2))#将绘图区域分成2X2的多重图框
layout.show(4)  #查看被分割的区域
plot(period,amount)
hist(x,xlim=range(x),main="hist of x",freq=F,nclass=30,density=20,angle=45)
matplot(y,type="l",col=1:3)
plot(period,amount,pch=22,col="red",bg="yellow",cex=1.5)
title("online shopping",font.main=3,adj=1)
layout(1)  #取消图形区域分割

layout(matrix(c(1,3,2,3),2,2))#将图形区域分成三个不规则的区域
layout.show(3)
layout(1)  #取消图形区域分割
layout(matrix(c(1,1,2,3,2,3),2,3))#将图形区域分成三个不规则区域
layout.show(3)
layout(1)  #取消图形区域分割

#函数split.screen()
split.screen(c(2,1)) #释将图形区域分成上下两部分显示
split.screen(c(1,2),screen=2)#将第二部分(下半区)又分割成两个区域
screen(1)   #准备在第一个区域绘图
hist(x,xlim=range(x),main="hist of x",freq=F,nclass=30,density=20,angle=45)
screen(3)   #准备在下半区的第一个区域绘图
matplot(y,type="l",col=1:3)
screen(4)   #准备在下半区的第二个区域绘图
plot(period,amount,pch=22,col="red",bg="yellow",cex=1.5)
close.screen(all=TRUE)

#####2.基础绘图#####
#####2.1高级绘图函数#####
##函数plot()
dat=read.table("online shopping.txt",header=T)
attach(dat)
plot(period,amount)
plot(period,amount,pch=16,col="red")
colors()  #R中的颜色
plot(period,amount,pch=19,col=4)
palette()  #col取1~8代表的颜色

##饼图
percent = c(56.7,19.6,5.5,4.7,2.7,10.8)
labels = c("天猫","京东","苏宁易购","腾讯B2C","亚马逊中国","其他")
#font表示字体,取1~4,分别表示正体、黑体、斜体和黑斜体
pie(percent,labels,col=2:7,main = "Pie chart for online shopping",font=2,cex=0.7)

##直方图
x = rnorm(1000)
hist(x,xlim=range(x),main="hist of x",freq=F,nclass=60,density=20,angle=45)
hist(x,xlim=range(x),main="hist of x",freq=F,nclass=60,density=20,angle=45,border = "red",col = "blue")

#####2.2多元数据绘图#####
#首先生成数据,x2为正态分布随机数,x3为伽马分布随机数
y = data.frame(x1=1:5,x2=rnorm(5,0,1),x3=rgamma(5,2,3))
matplot(y,type = "l",col=1:3,lwd=2)
legend(1,5,col=1:3,pch="—",legend = c("x1","x2","x3"))

#coplot()函数
data(warpbreaks)  #R自带数据,后两个是因子
coplot(breaks~1:54|wool*tension,data=warpbreaks,
       col="red",bg="pink",pch=21,
       bar.bg=c(fac="lightblue"))

#####2.3低级绘图函数#####
## 三个不同的正态分布
x = seq(-4, 4, by=0.1)
y1 = dnorm(x,0,0.5)
y2 = dnorm(x)
y3 = dnorm(x,2,0.5)
matplot(x, cbind(y1,y2,y3), type="l",
        #lty 控制连线的线型, 可以是整数(1: 实线,2: 虚线,3: 点线,4: 点虚线,5: 长虚线,6: 双虚线)
        xlab="X", ylab="Density",lty=c(1,2,3),
        col=c("blue", "red", "brown"),  
        #lwd 控制连线宽度的数字
        lwd=2)
abline(v=0,lwd=2)
abline(v=2,lwd=2)
expr1 = 'μ=0'
expr2 = 'μ=2'
expr3 = 'σ=0.5'
expr4 = 'σ=1'
legend(-4, 0.8,    #指定位置
       c(paste(expr1,",",expr3), paste(expr1,",",expr4),paste(expr2,",",expr3)),
       lty=c(1,2,3), 
       col=c("blue", "red", "brown"))

## 正态分布拒绝域的阴影标记
x = seq(-4, 4, by=0.1)
plot(x, dnorm(x), type="l", lwd=2, col="red",
     xlim=c(-4, 4), ylim=c(-0.01, 0.4), 
     ylab = "Density", 
     main = "Shadow")
abline(h=0, v=0)
z = qnorm(1-0.05)  #表示X轴上该点(z)以下概率密度曲线与X轴的面积为0.95
xx = seq(z, 4, by=0.1);xx  
#输入的两个向量表示X轴上从z到4的值及其对应的密度
polygon(c(xx, z), c(dnorm(xx), dnorm(4)), col="yellow1") 
#添加的文本(Zα)及其位置,adj调整位置,cex调整大小
text(z, -0.015, expression(Z[alpha/2]), adj=0.4, cex=1.1)
#添加的文本α及其位置
text(2, 0.02, expression(alpha/2), adj=0.5, cex=1.5)

z1 = qnorm(0.05)  #表示X轴上该点(z1)以下概率密度曲线与X轴的面积为0.05
yy = seq(-4, z1, by=0.1)
polygon(c(yy, z1), c(dnorm(yy), dnorm(-4)), col="yellow1") 
text(z1, -0.015, expression(-Z[alpha/2]), adj=0.4, cex=1.1)
text(-2, 0.02, expression(alpha/2), adj=0.5, cex=1.5)
legend(-3, 0.4, expression(alpha==0.1), adj=0.2)

#####2.4图形参数设置#####
#函数par()
Mypar = par(adj=0.7,bg=3)  #预先设置图形参数
par()
par(Mypar)  #恢复原始的图形参数
par()

#参数adj
par(mfrow=c(1,2)).
plot(1:4)
title("plot(1:4)",adj=0)
plot(1:4)
title("plot(1:4)",adj=1)

#参数ann
plot(1:4,ann=FALSE,main='plot(1:4,ann=FALSE)')#尽管指定了参数main的值,但是图像中仍然没有显示
plot(1:4,ann=TRUE,main='plot(1:4,ann=FALSE)')

#参数col.axis
par(cex.axis=1.5,col.axis="red")
plot(1:4)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值