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】低级绘图函数的更多相关文章

  1. R语言与医学统计图形【7】低级绘图函数

    R语言基础绘图系统 基础绘图包之低级绘图函数--气泡图.一页多图.背景网格.添加线条和散点.数学表达式 4.气泡图 symbols是高级绘图函数,可在图上添加标记,标记的形状包括:circles,sq ...

  2. R语言与医学统计图形【1】par函数

    张铁军,陈兴栋等 著 R语言基础绘图系统 基础绘图包之高级绘图函数--par函数 基础绘图包并非指单独某个包,而是由几个R包联合起来的一个联盟,比如graphics.grDevices等. 掌握par ...

  3. R语言与医学统计图形【4】直方图、金字塔图

    R语言基础绘图系统 基础图形--直方图.金字塔图 3.直方图 参数设置及比较. op <- par(mfrow=c(2,3)) data <- rnorm(100,10,5) hist(d ...

  4. R语言与医学统计图形【3】条形图、误差图

    R语言基础绘图系统 基础图形--条形图.误差图 3.条形图 barplot接收的数据是矩阵而非数据框. data <- sample(c(50:80),5) barplot(data,col=h ...

  5. R语言与医学统计图形【8】颜色的选取

    R语言基础绘图系统 基础绘图包之低级绘图函数--内置颜色. 1.内置颜色选取 功能657种内置颜色.colors() 调色板函数:palette(), rgb(), rainbow(). palett ...

  6. R语言与医学统计图形【5】饼图、条件图

    R语言基础绘图系统 基础图形--饼图.克利夫兰点图.条件图 6.饼图 pie(rep(1,26),col=rainbow(26), labels = LETTERS[1:26], #标签 radius ...

  7. R语言与医学统计图形【2】散点图、盒形图

    R语言基础绘图系统 基础图形--散点图.盒形图 plot是一个泛型函数(generic method),对于不同的数据绘制不同的图形. par函数的大部分参数在plot中通用. 1.散点图 plot绘 ...

  8. R语言与医学统计图形-【28】ggplot2扩展包ggrepel、ggsci、gganimate、ggpubr

    ggplot2绘图系统--扩展包ggrepel.ggsci.gganimate.ggpubr等 部分扩展包可在CRAN直接下载,有些需借助devtools包从Github下载. 1. ggrepel包 ...

  9. R语言与医学统计图形-【33】生存曲线、森林图、曼哈顿图

    1.生存曲线 基础包survival+扩展包survminer. survival包内置肺癌数据集lung. library(survival) library(survminer) str(lung ...

随机推荐

  1. BUAA2020软工作业(一)——谈谈我和计算机的缘分

    项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 第一次作业-热身! 我在这个课程的目标是 进一步提高自己的编码能力,工程能力 这个作业在哪个具体方 ...

  2. springcloud整合seata

    springcloud整合seata 一.背景 二.项目结构 三.实现功能: 四.项目使用到的技术 五.整合步骤 1.引入spring-cloud-starter-alibaba-seata jar包 ...

  3. 洛谷 P5785 [SDOI2012] 任务安排

    链接: P5785 弱化版:P2365 题意: 有 \(n\) 个任务待完成,每个任务有一个完成时间 \(t_i\) 和费用系数 \(f_i\),相邻的任务可以被分成一批.从零时刻开始这些任务会被机器 ...

  4. STP生成树协议在二层环境中的应用

    一 STP简介 1.单词: rstp快速生成树协议 filter过滤 protection保护 2.作用: 通过阻塞特定接口来防止二层交换环路,从而做到既可以提高网络可靠性的同时又能避免环路带来的问题 ...

  5. path-sum leetcode C++

    Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all ...

  6. js点击事件 登录

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  7. prometheus(2)之对kubernetes的监控

    prometheus服务发现 1.基于endpoints的service注释服务自动发现. 2.基于pod注释的服务自动发现 3.基于consul注册的服务自动发现 4.手动配置服务发现 5.push ...

  8. SpringCloud 2020.0.4 系列之 Sleuth + Zipkin

    1. 概述 老话说的好:安全不能带来财富,但盲目的冒险也是不可取的,大胆筹划,小心实施才是上策. 言归正传,微服务的特点就是服务多,服务间的互相调用也很复杂,就像一张关系网,因此为了更好的定位故障和优 ...

  9. Vue的第一课

    终于学习到Vue了,美滋滋,给自己点个赞 前后端作用: 1.1vs1(一个Vue对象控制一个) <body> <div id="app"> <p> ...

  10. Linux ns 5. IPC Namespace 详解

    文章目录 1. 简介 2. 源码分析 2.1 copy_ipcs() 2.2 ipcget() 2.3 ipc_check_perms() 2.4 相关系统调用 参考文档: 1. 简介 进程间通讯的机 ...