代码语言:javascript复制
前言:
在前面介绍了R的基础入门语法之后,现也将最近整理好的一些R的基础绘图实例提供给需要的朋友参考。(温馨提示:代码慎用!按照本博文实例进行练习的话最好能做到举一反三。代码多敲方为上策,切不可隔岸观火!)
#基础R绘图
x <- 1:100
y <- 100 x*5
windows(300,200);plot(y) #默认情况绘制散点图type="p"
windows(300,200);plot(y,type="l") #"l"即 line首字母
#正态分布随机数图
x2 <- rnorm(100,10,5)
View(x2)
plot(x2)
#频数直方图
x3 <- rnorm(1000,20,10)
hist(x3)
#在直方图基础上绘制密度曲线
x4 <- rnorm(1000,20,10)
hist(x4,freq=F)
lines(density(x4),col="blue")
box() #加方框
#茎叶图,条形图
x5 <- rnorm(100,5,2)
stem(x5)
barplot(x5)
box()
x6 <- 1:5;pie(x6,col=rainbow(5))
box()
#绘制箱线图
x7 <-rnorm(10,10,3);boxplot(x7)
data(iris)
sunflowerplot(iris[,3:4])
#绘制矩阵或数据框的二元图
data(iris)
pairs(iris[1:4],main="--Anderson's Iris Data--",pch=21,bg=c("red","green3","blue"))
#绘制QQ图
y1 <- rnorm(500,10,5);qqnorm(x)
#曲线图
curve(sin,-2*pi,2*pi,xname="t");
#低水平绘图函数:在高水平绘图的基础上进行修饰和补充
x<-1:50
y<-rnorm(50,10,5)
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,-15) #根据起点,终点坐标绘制线段
arrows(10,-10,40,30,angle=15,code=1) #绘制箭头
abline(-20,5) #绘制“y=a*x b”直线
abline(h=0,col="red") #绘制特殊直线,水平或垂直线
legend(0,max(y),"随机点0连线")
legend(3,max(y),"随机点3连线")
# 坐标定位模式获得鼠标点击位置的坐标
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(15,10,30,40,45),c(-10,5,15,4,-10))
#savePlot()绘制图形保存方法一
windows()
plot(1:10)
rect(1,5,4,8,col="yellow")
savePlot("test01",type="jpg",device=dev.cur(),restoreConsole=T)
dir() #查看"test01.jpg"
#图形绘制保存方法二
jpeg(file="myplot.jpeg")
plot(1:10)
rect(1,5,4,8,col="blue")
dev.off()
dir() #查看"myplot.jpeg"
#end------------------
结语:
R作为一款越来越受追捧的数据分析工具,以上简单作图函数只是它全部功能的冰山一角。其实,它的作图功能比一般人能想象得到的还要强大得多。最近也接触ggplot2一阵子,有机会也希望能跟更多的朋友一起交流分享。。。