这次我们简单介绍下R的基础作图函数,基础作图可以做出比较个性化的东西,比较灵活
axis
对于基础作图,我们可以自定义它的坐标轴,常用的的函数是axis(),我们不妨看看它的帮助文档
先介绍几个参数:
- side,代表坐标轴位置(1:下,2:左,3:上,4:右)
- at,代表刻度线位置(数值型向量)
- labels,刻度的标签,字符型向量
- pos,两条刻度线相交的位置
x <- seq(-4, 4, 0.01)
y <- x^2
plot(x, y, ann = F, bty = "n", xaxt = "n", yaxt ="n")
#将原图的坐标轴去除,bty控制坐标轴是否出现
m=seq(-4,4,1)
n=seq(0,20,2)
axis(1, at=m, pos = 0,col.axis="black", cex.axis=0.7,las=0,tck=-0.015)
axis(2, at=n, pos = 0, col.axis="black", cex.axis=0.7,las=2,tck=-0.015)
加坐标轴前
加坐标轴后
text
这一个是控制图例标签的函数
我们来看个例子
plot(c(0:5), col = 'white')
text(2,4, labels = 'font=1:正常字体(默认)', font = 1)
text(2,5, labels = 'font=2:粗体字体',font = 2)
对于text()来说,其最大的功能是为我们的图加图例,或者做一些分类标记
- 前面的数字代表图例的坐标位置
- labels是图例的内容
- font是字体大小
par
par()函数的目的是优化图形的参数,我们通过帮助文档可以看到
这几个参数是par()函数独有的,参数比较多,我就挑几个我常用的来做例子
1.设置背景颜色
par(bg="red")
plot(1:100)
2. 多图
有的时候,我们往往想要在一幅图上画多个小图
par(mfrow=c(1,2))
plot(1:10)
title("plot(1:10)",adj=0)
plot(1:4)
title("plot(1:4)",adj=1)
其中mfrow=c(1,2),前面的1代表纵向放一张图,后面的2代表横向放2张图,一共一页放2张图
或者利用参数fig参数来进行图形定位
par(fig=c(0.5,1,0.5,1))
plot(1:3)
par(fig=c(0,0.5,0,0.5))
plot(1:3)
其中数字代表图形的页面坐标位置
abline
这个常用的是加线处理
plot(c(-2,3), c(-1,5), type = "n", xlab = "x", ylab = "y", asp = 1)
abline(h = 0, v = 1, col = "gray60")
#h代表纵轴位置,v代表很皱位置
常见基础作图函数
有关基础画图的函数实在是太多了
有需要的同学可以看看他们的说明文档
基础作图美化
当然也有人开发了用于美化的包basetheme
library(basetheme)
basetheme("brutal")
plot(hclust(dist(USArrests), "ward.D2"), hang = -1)
美化前
美化后
是不是很赞呢?
另外一种美化就是使用调色板来美化
(1)palette()
利用palette()函数来筛选可用的颜色
palette()
## [1] "black" "red" "green3" "blue" "cyan" "magenta" "yellow"
## [8] "gray"
(2)rgb()
这个函数的基本色是红,绿,蓝,利用不同数字来进行调色
col = c(rgb(1, 0, 0), rgb(0, 1, 0), rgb(0, 0, 1))
rgb有三个参数,分别是红,绿,蓝,数值代表这三个颜色的程度
(3)rainbow/RColorBrewer
rainbow(1000)是比较常用的,上面颜色很多,可供选择
rainbow(1000)
RColorBrewer则是一个R包,在上面可以选择颜色
RColorBrewer
当然作图是一个长期积累的过程,如果文献中右好看的图,不妨“盗用”下他们的代码学习学习
参考:http://blog.sina.com.cn/s/blog_6caea8bf0100yk4h.html
https://www.jianshu.com/p/a716db5d30ef
网友评论