R语言与医学统计图形【6】低级绘图函数
R语言基础绘图系统
基础绘图包之低级绘图函数——定义坐标轴、图例、文本
低级绘图函数:本身不具备图形绘制能力,只是在已有图形基础上添加元素。
| 函数 | 功能 |
|---|---|
| arrows | 添加箭头 |
| axis | 坐标轴 |
| box | 图形边框 |
| abline | 添加直线 |
| clip | 修剪图形 |
| locator | 识别图中点的坐标 |
| layout | 切分画布 |
| legend | 添加图例 |
| lines | 添加线条 |
| segments | 添加线段 |
| rug | 添加小地毯 |
| polygon | 构建多边形 |
| points | 添加散点 |
| titles | 添加标题 |
| text | 添加文字 |
| mtext | 在图形四周添加文字 |
| grid | 添加背景网格线 |
1.自定义坐标轴及文本
N <- 200
x <- seq(-4,4,length=N)
y1 <- sin(x)
y2 <- cos(x)
op <- par(mar=c(5,4,4,4))
xlim <- range(x) #返回最大值和最小值
ylim <- c(-1.1,1.1)
plot(x,y1,col='blue',type='l',
xlim = xlim,ylim=ylim,
axes=F, #先不画坐标
xlab = '',ylab = '',main = 'title')
axis(1)
#axis中1,2,3,4分别表示下,左,上,右坐标
axis(2,col = 'blue')
par(new=T) #在刚绘好的图上添加新图
plot(x,y2,col='red',type='l',
xlim=xlim,ylim=ylim,
axes = F,xlab = '',ylab = '',main = '')
axis(4,col = 'red')
#添加边缘文字
mtext('first Y axis',2,line = 2,col = 'blue',cex = 1.2)
#mtext第二个参数1,2,3,4也是表下左上右
mtext('second Y axis',4,line = 2,col = 'red',cex=1.2)

自定义不同的纵坐标。
plot(rnorm(100),axes = F,col='orange',pch=16,
ylab = 'scatter points',xlab = 'x axis',
ylim = c(-3.5,3.5))
#par函数中xaxt/yaxt设为n,表示不绘制坐标轴刻度和标签,但仍有一条坐标轴线
#这和axes稍有不同
axis(1,at=seq(0,100,10), #定义刻度线位置
labels = LETTERS[1:11],
col = 'red',lwd = 1.3, #坐标轴颜色
col.ticks = 'pink') #刻度颜色
axis(2,at=seq(-3,3,1),col = 'blue',
col.ticks = 'sky blue',lwd = 1.3)
#当自定义的坐标轴不能完全显示时(画布太小),可设置xlim/ylim解决
abline(h=0, #y轴为0的水平线
col='red',lwd=2,lty=2)
curve(sin,
0,100, #from...to...
add = T) #添加到现有图形

2.图例
a=c(1:5)
b=c(2,3,3,4,5)
c=c(4,5,2,3,1)
plot(b~a,type='b',bty='l',
xlab='value of a',ylab='value of b',
col='red',lwd=3,pch=17,ylim=c(1,5))
lines(c~a,col='blue',lwd=3,pch=19,type='b')
legend(#'bottomleft', #位置参数:字符串 topright
3,5, #位置参数:坐标位置
legend=c('Group 1',"Group 2"), #图例标签
col = c('red','blue'), #图例填充色
pch=c(17,19), #图标形状
bty='n', #定义边框,n不要
pt.cex = 2, #图标大小
cex = 1.2, #标签文字大小
text.col = 'black', #标签文字颜色
horiz = F, #是否水平放置,默认F(垂直)
inset = c(0.1,0.1),#距离x、y轴程度,0-1
x.intersp = 0.1, #水平图标间距
y.intersp = 0.4) #竖直图标间距
#后两个参数对于图形中图例非常多时很有用

plot(iris$Sepal.Length~iris$Sepal.Width,
pch=c(21:23)[iris$Species],
#三种不同点型对应三个不同品种
col=c('orange','sky blue','pink')[iris$Species],
bg=c('orange','sky blue','pink')[iris$Species])
legend( #x=3.7,y=8.0, #坐标法
locator(1), #去图上找一个合适位置,左击鼠标
legend = c('Setosa','Versicolor','Virginica'),
col=c('orange','sky blue','pink'),
pch = 21:23,
pt.cex = 2,
y.intersp = 0.8, #图例间距
pt.bg = c('orange','sky blue','pink'))

3. 添加文本
x <- rnorm(1000)
hist(x,xlim = c(-4,4))
usr <- par('usr') #为找到画布四个角的坐标,左下角/右下角/左上角/右下角
clip(usr[1],-1,usr[3],usr[4])
#切割画布
hist(x,col = 'red',add=T)
text(-3,50,labels = 'red area',
col = 'red',srt=60,cex=2)
#切割另一个矩形
clip(1,usr[2],usr[3],usr[4])
hist(x,col = 'blue',add=T)
text(x=3,y=50,labels = 'blue area',
col='blue',srt=300,cex=2)

示例2.
data <- sample(20:80,20)
par(mar=c(4,3,3,1))
barcenter <- barplot(data,col='skyblue',axes = F,
ylim = c(-5,100)) #限定y轴范围,为了使后面文本显示出来
#存储了条柱中心横坐标
axis(2,at=seq(0,100,10))
text(barcenter,-2,labels = LETTERS[1:20],
col = 'red',cex = 0.8)

示例3.
mycars <- data.frame(car=c('Honda','Benz','BMW',
'Audi','Chery','Toyota','Ford'),
mtg=c(4,5.2,5.5,2.8,1.8,2.8,3))
plot(mycars$mtg,cex=mycars$mtg,col='pink',pch=21,
bg='lightblue',ylab='cars\' mtg',xlab='cars',
xlim = c(0,7.5))
text(1:7,mycars$mtg,labels = mycars$car)

R语言与医学统计图形【6】低级绘图函数的更多相关文章
- R语言与医学统计图形【7】低级绘图函数
R语言基础绘图系统 基础绘图包之低级绘图函数--气泡图.一页多图.背景网格.添加线条和散点.数学表达式 4.气泡图 symbols是高级绘图函数,可在图上添加标记,标记的形状包括:circles,sq ...
- R语言与医学统计图形【1】par函数
张铁军,陈兴栋等 著 R语言基础绘图系统 基础绘图包之高级绘图函数--par函数 基础绘图包并非指单独某个包,而是由几个R包联合起来的一个联盟,比如graphics.grDevices等. 掌握par ...
- R语言与医学统计图形【4】直方图、金字塔图
R语言基础绘图系统 基础图形--直方图.金字塔图 3.直方图 参数设置及比较. op <- par(mfrow=c(2,3)) data <- rnorm(100,10,5) hist(d ...
- R语言与医学统计图形【3】条形图、误差图
R语言基础绘图系统 基础图形--条形图.误差图 3.条形图 barplot接收的数据是矩阵而非数据框. data <- sample(c(50:80),5) barplot(data,col=h ...
- R语言与医学统计图形【8】颜色的选取
R语言基础绘图系统 基础绘图包之低级绘图函数--内置颜色. 1.内置颜色选取 功能657种内置颜色.colors() 调色板函数:palette(), rgb(), rainbow(). palett ...
- R语言与医学统计图形【5】饼图、条件图
R语言基础绘图系统 基础图形--饼图.克利夫兰点图.条件图 6.饼图 pie(rep(1,26),col=rainbow(26), labels = LETTERS[1:26], #标签 radius ...
- R语言与医学统计图形【2】散点图、盒形图
R语言基础绘图系统 基础图形--散点图.盒形图 plot是一个泛型函数(generic method),对于不同的数据绘制不同的图形. par函数的大部分参数在plot中通用. 1.散点图 plot绘 ...
- R语言与医学统计图形-【28】ggplot2扩展包ggrepel、ggsci、gganimate、ggpubr
ggplot2绘图系统--扩展包ggrepel.ggsci.gganimate.ggpubr等 部分扩展包可在CRAN直接下载,有些需借助devtools包从Github下载. 1. ggrepel包 ...
- R语言与医学统计图形-【33】生存曲线、森林图、曼哈顿图
1.生存曲线 基础包survival+扩展包survminer. survival包内置肺癌数据集lung. library(survival) library(survminer) str(lung ...
随机推荐
- hdu 3635 Dragon Balls(并查集)
题意: N个城市,每个城市有一个龙珠. 两个操作: 1.T A B:A城市的所有龙珠转移到B城市. 2.Q A:输出第A颗龙珠所在的城市,这个城市里所有的龙珠个数,第A颗龙珠总共到目前为止被转移了多少 ...
- hdu 1080 Human Gene Functions(DP)
题意: 人类基因由A.C.G.T组成. 有一张5*5的基因表.每格有一个值,叫相似度.例:A-C:-3.意思是如果A和C配对, 则它俩的相似度是-3[P.S.:-和-没有相似度,即-和-不能配对] 现 ...
- poj 2724 Purifying Machine(二分图最大匹配)
题意: 有2^N块奶酪,编号为00...0到11..1. 有一台机器,有N个开关.每个开关可以置0或置1,或者置*.但是规定N个开关中最多只能有一个开关置*. 一旦打开机器的开关,机器将根据N个开关的 ...
- 『学了就忘』Linux基础 — 17、远程服务器关机及重启时的注意事项
目录 1.为什么远程服务器不能关机 2.远程服务器重启时需要注意两点 3.不要在服务器访问高峰运行高负载命令 4.远程配置防火墙时不要把自己踢出服务器 5.指定合理的密码规范并定期更新 6.合理分配权 ...
- Zabbix webhook 自定义报警媒介
场景一:使用企业微信机器人报警 图中的token是:在群组中添加机器人,机器人的webhook地址的key var Wechat = { token: null, to: null, message: ...
- CentOS7 安装oracle 11g (11.2.0.1.0)
1.安装依赖: #yum -y install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ks ...
- MSSQL SQL注入 总结
0x00 MSSQL 基础 MSSQL系统自带库和表 系统自带库 MSSQL安装后默认带了6个数据库,其中4个系统级库:master,model,tempdb和msdb:2个示例库:Northwind ...
- 多线程 | 03 | CAS机制
Compare and swap(CAS) 当前的处理器基本都支持CAS,只不过每个厂家所实现的算法并不一样罢了,每一个CAS操作过程都包含三个参数:一个内存地址V,一个期望的值A和一个新值B,操作的 ...
- Java基础复习之数组
Java基础复习之:数组 简介 数组(Array):多个相同数据类型按照一定顺序排列的集合,并使用一个名字命名,通过编号的方式对这些数据进行统一管理 一维数组 一维数组的声明与初始化 int[] id ...
- FZU ICPC 2020 寒假训练 3
P1308 统计单词数 题目描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数.现在,请你编程实现这一功能,具体要求是:给定一 ...