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 ...
随机推荐
- Uniapp云打包生成apk下载链接
使用uni[]()app云打包生成安装包下载链接 manifest.json 中配置自动获取appid manifest.json中配置app 图标 按教程生成.keystore证书 使用云打包生成安 ...
- [no code][scrum meeting] Alpha 7
项目 内容 会议时间 2020-04-13 会议主题 OCR技术细节分析 会议时长 30min 参会人员 PM+OCR组成员 $( "#cnblogs_post_body" ).c ...
- Noip模拟54 2021.9.16
T1 选择 现在发现好多题目都是隐含的状压,不明面给到数据范围里,之凭借一句话 比如这道题就是按照题目里边给的儿子数量不超过$10$做状压,非常邪门 由于数据范围比较小,怎么暴力就怎么来 从叶子节点向 ...
- qgis3.16.6+vs2017再编译(debug+release)
参考 https://www.cnblogs.com/superbi/p/11188145.html 文章以及其它文章,对qggis3.16.6进行了重新编译 一.编译准备 1.Cygwin 1.1安 ...
- bash执行顺序:alias --> function --> builtin --> program
linux bash的执行顺序如下所示: 先 alias --> function --> builtin --> program 后 验证过程: 1,在bash shell中有内置 ...
- 关于dns服务工作的原理,和配置的细节理解。
dns服务器相关 1,dns原理,也就是迭代,和递归查询.将域名解析为ip的过程. 一次完整的查询请求经过的流程: Client -->hosts文件 -->DNS Service Loc ...
- Java安全之Thymeleaf SSTI分析
Java安全之Thymeleaf SSTI分析 写在前面 文章首发:https://www.anquanke.com/post/id/254519 最近看了一遍Thymeleaf,借此机会学习一下Th ...
- Vue 基础自查——条件渲染和列表渲染
v-if和v-show的区别是什么? v-if和v-for为什么不能一起用? v-for中的key有什么作用? 1 v-if 和 v-show 1.1 作用 都用来控制元素的显示和隐藏 1.2 控制元 ...
- [转]技术往事:改变世界的TCP/IP协议
原文链接 : http://www.52im.net/thread-520-1-1.html 1.前言 作为应用层开发人员,接触最多的网络协议通常都是传输层的TCP(与之同处一层的另一个重要协议是UD ...
- uni-app路径规划(打开第三方地图实现)
百度网盘链接:https://pan.baidu.com/s/1-Ys13GFcnKXB1wkJotcwMw 提取码:16gp 把js文件放在common目录下 引入: import pathP ...