基础R绘图

2022-08-09 13:42:48 浏览数 (1)

代码语言: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一阵子,有机会也希望能跟更多的朋友一起交流分享。。。

0 人点赞