### 高水平绘图函数
```r
x <- 1:100 #生成1-100的向量
y <- 100 + x*5 #100是截距,5是斜率
#windows是生成一个窗口更,plot是绘图
windows(300,200);plot(y) #散点图
windows(300,200);plot(y,type="l") #直线
# 生成100个正态分布随机数并绘图
x <- rnorm(100,10,5) #均值为10,标准差为5
plot(x)
# 绘制1000个正态分布随机数的频数直方图
x <- rnorm(1000,30,10)
hist(x)
# 使用核密度估计函数density(),在直方图上绘制密度曲线
# hist()函数必须设置freq参数为F才能显示密度曲线
x <- rnorm(1000,30,10)
hist(x,freq=F)
lines(density(x),col="blue")
box() #给图加一个方框,看起来完整一些
# 茎叶图很直观的表现出数据的分布情况
x <- rnorm(100,5,1)
stem(x)
# 绘制10个正态分布随机数的条形图
x <- rnorm(10,30,10);barplot(x)
box() # 在当前图上加个方框
# 绘制饼图
x <-1:5;pie(x,col=rainbow(5)) #rainbow,向量有5个值,不会自己选颜色,系统自动分配
box()
# 绘制箱线图
# 中间黑线为中位数位置;上下框线为上下四分位数位置;上下触须为1.5倍四分位数间距;如果有孤立点表示异常值
x <-rnorm(10,10,3);boxplot(x)
# 绘制向日葵图
data(iris)
sunflowerplot(iris[,3:4])
# 绘制矩阵或数据框的二元图
data(iris)
pairs(iris[1:4], main = "Anderson's Iris Data -- 3 species",pch = 21, bg = c("red", "green3", "blue")[unclass(iris$Species)])
# 绘制QQ图
# 如果向量为正态分布则数据点基本在一条直线上
x <- rnorm(500,10,5);qqnorm(x)
# 根据指定函数绘制指定范围的曲线图
curve(sin, -2*pi, 2*pi, xname = "t")
```
### 低水平绘图函数
在高水平绘图函数绘制的图形上做补充和修饰
```
# 生成50个正态分布随机数并绘图
x <- 1:50
y <- rnorm(50,10,5)
#横坐标
#纵坐标
#type="n"表示开始不绘图
#横坐标的名称
#纵坐标的名称
#横坐标的范围
#纵坐标的范围
#main表示主名称
#sub表示副标题
plot(x,y,type="n",xlab="数据索引",ylab="随机数点",xlim=c(1,50),ylim=c(-20,20),main="实验图",sub="随机数绘图") #高水平绘图
points(x,y,col="blue") #低水平绘图,绘制所有的点
lines(x,y,col="red") #将所有的点连成线
text(5,max(y),"随机数据点") # 在指定坐标位置放置文本
mtext("横轴下方文字",side=1) # 横轴、纵轴上放置文字
mtext("纵轴左方文字",side=2)
mtext("横轴上方文字",side=3)
mtext("纵轴右方文字",side=4)
segments(10,10,50,-10) # 根据起点、终点坐标绘制线段
#15表示箭头的角度
arrows(10,-10,40,20,angle=15,code=1) # 绘制带箭头线段,可以设置箭头角度,有几个箭头(1起点箭头、2终点箭头,3双箭头)
abline(-20,.5) # 在图上绘制直线,第一个参数为截距,第二个参数为斜率
abline(h=0,col="red") # 在图上绘制水平线或垂直线,可以标示临界位置,很好用的功能
legend(0,max(y),"随机点连线") #图例
# 坐标定位模式获得鼠标点击位置的坐标
x <- 1:50
y <- rnorm(50,10,5)
plot(x,y,type="n",xlab="数据索引",ylab="随机数点",xlim=c(1,50),ylim=c(-20,20),main="实验图")
print(locator(3,type="p")) # 图像进入定位模式,第一个参数决定获取几个点的坐标信息,第二个参数决定绘图方式
rect(5,5,20,20) # 在已经成功绘制的图形内部绘制一个长方形
polygon(c(20,10,30,40,45),c(-10,0,15,4,-10)) # 在高级图形内部绘制多边形
setwd("D:/rstudiodir") #设置当前工作目录
# 生成一个绘图窗口在其中绘制图形后用savePlot()函数保存
windows()
plot(1:10)
rect(1, 5, 3, 7, col="blue")
savePlot("test01", type="jpg",device=dev.cur(),restoreConsole=TRUE)
# 直接在jpeg设备上绘制图形,完成后使用dev.off()关闭设备,存盘退出
jpeg(file="myplot.jpeg")
plot(1:10)
rect(1, 5, 3, 7, col="blue")
dev.off()
```