R学习笔记4

7 基本绘图

使用plot调整坐标向量

foo <- c(1.1,2,3.5,3.9,4.2)
bar <- c(2,2.2,-1.3,0,0.2)
plot(foo,bar) #plot简单二维作图plot(x,y)
#x,y的位置不一定为向量,还可以为矩阵
> baz
     foo  bar
[1,] 1.1  2.0
[2,] 2.0  2.2
[3,] 3.5 -1.3
[4,] 3.9  0.0
[5,] 4.2  0.2
> plot(baz)

图形化参数

type 如何画出给定坐标
main,xlab,ylab 分别表示图形标题,水平标签,垂直标签
col 设置点和线所使用的颜色
pch 代表点的特征,选择画的单独点所使用 的特征
cex 代表特征扩展,控制所画点的大小
lty 代表线的类型
lwd 代表线宽
xlim,ylim 绘图的水平和垂直范围

自动绘图类型

> plot(foo,bar,type="l")
> plot(foo,bar,type="b")
#默认type为“p” 只有点   “l” 只有线   “b” 点线都有  ”o“线覆盖点(消除点和线之间的空隙) 
#“n” 没有点和线,建立空的图形

标题和坐标轴标签

plot(foo,bar,type="b",main="My lovely plot",xlab="x axis label",ylab="location y")
plot(foo,bar,type="b",main="My lovely plot\ntitle on two lines",xlab="",ylab="")
#换行符将标题分割成两行

颜色

> plot(foo,bar,type="b",main="My lovely plot",xlab="",ylab="",col=2)
>plot(foo,bar,type="b",main="My lovely plot",xlab="",ylab="",col="seagreen4")
#颜色设置最简单的为整数和字符串

点和线的外观

>plot(foo,bar,type="b",main="My lovely plot",xlab="",ylab="",col=4,pch=8,lty=2,cex=2.3,lwd=3.3)
>plot(foo,bar,type="b",main="My lovely plot",xlab="",ylab="",col=6,pch=15,lty=3,cex=0.7,lwd=2)
#pch和lt设置点和线的外观 点的外观范围[1,25]线的类型为[1,6] cex和lwd分别控制点大小和线宽  

绘制区域限制

>plot(foo,bar,type="b",main="My lovely plot",xlab="",ylab="",col=4,pch=8,lty=2,cex=2.3,lwd=3.3,xlim=c(-10,5),ylim=c(-3,3))
>plot(foo,bar,type="b",main="My lovely plot",xlab="",ylab="",col=6,pch=15,lty=3,cex=0.7,lwd=2,xlim=c(3,5),ylim=c(-0.5,0.2))
#xlim ylim 需要两个参数,为一个长度为2的数值向量

在已有的图中加点、线和文本

points 添加点
lines abline segment 添加线
text 添加文本
arrows 添加箭头
legend 添加图例
> x <- 1:20
> y <- c(-1.49,3.37,2.59,-2.78,-3.94,-0.92,6.43,8.51,3.41,-8.23,-12.01,-6.58,2.87,14.12,9.63,-4.58,-14.78,-11.67,1.17,15.62)
> plot(x,y,type="n",main="")#第一步绘制能家点的空白区域  "n"打开或刷新的图形配置
> abline(h=c(-5,5),v=c(5,10),col="red",lty=2,lwd=2)#ablin 添加横跨图形的直线 用h=c(a,b,...)添加水平线 v=c(a,b,...)添加垂直线
>segments(x0=c(5,15),y0=c(-5,-5),x1=c(5,15),y1=c(5,5),col="red",lty=3,lwd=2)#在水平线之间加了短直线,x0起点坐标 x1终点坐标 
>points(x[y>=5],y[y>=5],pch=4,col="darkmagenta",cex=2)#使用point在图中加具体坐标,根据条件构建子集
>points(x[y<=-5],y[y<=-5],pch=3,col="darkgreen",cex=2)#同上
>points(x[(x>=5&x<=15)&(y>-5&y<5)],y[(x>=5&x<=15)&(y>-5&y<5)],pch=19,cex=1,col="blue")
>points(x[(x<5|x>15)&(y>-5&y<5)],y[(x<5|x>15)&(y>-5&y<5)])#使用默认值
>lines(x,y,lty=4)#lines连接x y坐标
>arrows(x0=8,y0=14,x1=11,y1=2.5)#在代码行添加箭头 x0起点 x1终点
>text(x=8,y=15,label="sweet spot")#添加标签
>legend("bottomleft",legend=c("overall process","sweet","standard","too big","too small","sweet y range","sweet x range"),pch=c(NA,19,1,4,3,NA,NA),lty=c(4,NA,NA,NA,NA,2,3),col=c("black","blue","black","darkmagenta","darkgreen","red","red"),lwd=c(1,NA,NA,NA,NA,2,2),pt.cex=c(NA,1,1,2,2,NA,NA))  #添加图例 legend()第一个参数表示放在位置 (通常“topleft” “topright”“bottomleft”“bottomright”) 然后提供标签向量(字符串),给剩余参数赋值,当不希望相应的图形参数时,向量使用NA填补

ggplot2包

qplot快速绘图

> install.packages("ggplot2") #下载ggplot2
>library("ggplot2")
> foo <- c(1.1,2,3.5,3.9,4.2)
> bar <- c(2,2.2,-1.3,0,0.2)
> qplot(foo,bar) #与plot相比,基本语法相同,x,y向量长度应相同
> plot(foo,bar)
> qplot(foo,bar,
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值