基础画图代码
# par与opar
###### readonly只读,no.readonly可修改
###### no.readonly=TRUE,将par()中可修改的变量提取出来
###### no.readonly=FALSE,par()默认参数为no.readonly=FALSE,也即将par()中所有变量提取出来
# 图形参数
###### pch:point character,指定绘制点时使用的符号,数值区间为0~25
###### cex:指定符号的大小,表示绘图符号相对于默认大小的缩放倍数
###### lty:line type,指定线条类型,数值区间为1~6
###### lwd:line width,线条宽度,也是以默认值的相对大小表示
# 颜色(color)
###### 在R中,可以通过颜色下标、颜色名称、十六进制的颜色值、RGB值或HSV值来指定颜色。举例来说,col=1、col="white"、col="#FFFFFF"、col=rgb(1,1,1)和col=hsv(0,0,1)都是表示白色的等价方式。函数rgb()可基于红-绿-蓝三色值生成颜色,而hsv()则基于色相-饱和度-亮度值来生成颜色。
###### col,默认绘图颜色
###### col.axis:坐标轴刻度文字的颜色
###### col.lab:labals,坐标轴刻度标签(名称)的颜色
###### col.main:主标题颜色
###### col.sub:subsidy,副标题颜色
###### fg:foreground,前景色
###### bg:background,背景色
# 创建连续型颜色向量的函数
###### R中可以通过定义col参数自定义颜色。有以下四种方法进行设置,是等价的:
######## 数字:(如1代表当前palette的第1种颜色,2代表当前palette的第2种颜色等);
######## 颜色名:(如”red”,”blue”)、可以使用colors()获得所有颜色名称列表
######## RGB:使用rgb()函数得到的返回值 rgb(1, 0, 0)
######## 十六进制颜色代码:#FF0000
###### RColorBrewer:创建吸引人的颜色配对,初次使用需要安装加载
###### display.brewer.all():查看所有配色颜色
###### brewer.pal.info:查看文本版的颜色描述
###### display.brewer.pal(11,"PuOr")
###### brewer.pal(9,"OrRd")
###### color <- brewer.pal(3,"Blues"):自定义颜色
###### pal <- colorRampPalette(color):根据自定义颜色创建颜色梯度
###### mycolor <- pal(30):定义梯度的数目
###### barplot(rep(1,times=30),col = mycolor):查看自定义梯度颜色mycolor
###### palette(),可以查看当前调色板
###### rainbow
###### heat.colors
###### terrain.colors
###### topo.colors
###### cm.colors
# 文本属性
### 字号
###### cex
###### cex.axis
###### cex.lab
###### cex.main
###### cex.sub
### 字体(font)
###### font:整数,用于指定绘图使用的字体格式,其中1=常规,2=粗体,3=斜体,4=粗斜体,5=符号字体
###### font.axis
###### font.lab
###### font.main
###### font.sub
###### ps:字体的磅值,文本的大小为ps*cex
###### family:绘制文本使用的字体族,serif(衬线),sans(无衬线),mono(等宽)
### 图形尺寸及边界尺寸
###### pin:以英寸表示的图形尺寸(宽和高)
###### mai:以数值向量表示的边界大小,顺序为(下,左,上,右),单位为英寸
###### mar:margins,绘图边距,以数值向量表示的边界大小,顺序为(下,左,上,右),单位为英分,默认值为c(5,4,4,2)+0.1
###### mpa:main plot area主绘图区
###### oma:out of margin,外围边距
# 添加文本,自定义坐标轴及图例
## title()函数:为图形添加标题和坐标轴标签
#### title(main = NULL, sub = NULL, xlab = NULL, ylab = NULL,line = NA, outer = FALSE, ...)
## axis()函数:创建自定义的坐标轴
#### axis(side, at = NULL, labels = TRUE, tick = TRUE, line = NA,pos = NA, outer = FALSE, font = NA, lty = "solid",lwd = 1, lwd.ticks = lwd, col = NULL, col.ticks = NULL,hadj = NA, padj = NA, gap.axis = NA, ...)
###### side:表示图形的那边绘制坐标轴,1=下,2=左,3=上,4=右
###### at:数值型向量,表示需要绘制刻度线的位置
###### labels:字符型向量,表示置于刻度线旁边的文字标签
###### pos:坐标轴线绘制位置的坐标(也即与另一条坐标轴相交位置的值)
###### lty:线条类型
###### col:线条和刻度线颜色
###### las:标签是否平行(las=0)或垂直(las=2)于坐标轴
###### tck:刻度线长度,以相对绘图区域的大小的分数表示,负值表示在图形外侧,正值表示在内侧,0表示禁用刻度,默认值是-0.01,1表示绘制网格线
###### axes=FALSE,禁用所有坐标轴,以便使用axes()加入自定义坐标轴
###### xaxt=“n”,yaxt=“n”,禁用x,y轴,,仅去除刻度,但会保留框架线
###### frame.plot=TRUE,保留坐标轴框架线
###### ann=FALSE,去除坐标轴标签
## minor.tick()函数:来自于Hmisc包,用于创建次要刻度线
###### library(Hmisc)
###### minor.tick(nx=n,ny=n,tick.ratio=n)
###### nx和ny分别指定了X轴和Y轴每两条主刻度线之间通过次要刻度线划分得到的区间个数
###### tick.ratio表示次要刻度线相对于主刻度线的大小比例
## abline()函数,添加参考线
#### abline(a = NULL, b = NULL, h = NULL, v = NULL, reg = NULL,coef = NULL, untf = FALSE, ...)
###### h即horizontal,横线
###### v即vertical,纵线
###### abline()函数支持修改颜色,线型等,操作如前述。
###### plot()在调用时,创建的是一副新图;abline()、lines()是在新图的基础上添加图形信息,并不会产生新的图形;abline()的做的回归线,对象是回归模型;lines()是普通的绘线函数,其对象是(X,Y)点坐标。
## 绘图区文本标注
## text():向绘图区域内部添加文本
#### text(x, y = NULL, labels = seq_along(x$x), adj = NULL,pos = NULL, offset = 0.5, vfont = NULL,cex = 1, col = NULL, font = NULL, ...)
## mtext():向图形的四个边界之一添加文本
#### mtext(text, side = 3, line = 0, outer = FALSE, at = NA,adj = NA, padj = NA, cex = NA, col = NA, font = NA, ...)
## 图例,legend函数
###### legend函数:当图形中包含的数据不止一组时,图例可以帮助你辨别出每个条形、扇形区域或折线各代表哪一类数据
###### legend(x, y = NULL, legend, fill = NULL, col = par("col"),border = "black", lty, lwd, pch,angle = 45, density = NULL, bty = "o", bg = par("bg"),box.lwd = par("lwd"), box.lty = par("lty"), box.col = par("fg"),pt.bg = NA, cex = 1, pt.cex = cex, pt.lwd = lwd,xjust = 0, yjust = 1, x.intersp = 1, y.intersp = 1,adj = c(0, 0.5), text.width = NULL, text.col = par("col"),text.font = NULL, merge = do.lines && has.pch, trace = FALSE,plot = TRUE, ncol = 1, horiz = FALSE, title = NULL,inset = 0, xpd, title.col = text.col, title.adj = 0.5,seg.len = 2)
# 图形的组合
### par()函数中使用图形参数
###### par(mfrow=c(nrows, ncols))按行填充
###### par(mfcol=c(nrows, ncols))按列填充
### 函数layout()的调用形式为layout(mat)
###### layput(matrix(c(1,1,2,3),2,2,byrow=TRUE),widths=c(3,1),heights=c(1,2)),一幅图占据2×2矩阵的第一行,其他两幅图置于第二行
### 使用图形参数fig=指定位置进行组合
###### par(fig=c(x1, x2, y1, y2),new=TRUE),参数new=TRUE添加一幅图到一幅现有图形上,其中横向范围x1~x2,纵向范围y1~y2
## 查看工作路径
getwd()
## 重设工作路径
setwd("C:/Users/cqs/Desktop/test")
## 加载excel读取包
library(readxl)
## 赋值
mydata1 <- read_xlsx("C:/Users/cqs/Desktop/test/TestKit.xlsx",2)
mydata1
opar <- par(no.readonly = TRUE)
## 颜色设置
install.packages("RColorBrewer")
library(RColorBrewer)
## 查看所有色板
display.brewer.all(type = "all")
## 查看单色渐变色板
display.brewer.all(type = "seq")
## 查看双色渐变色板
display.brewer.all(type = "div")
## 查看离散(分类)色板
display.brewer.all(type = "qual")
## 显示指定名称的颜色主题
display.brewer.pal(3,"Set2")
## 选取颜色
mycolors <- brewer.pal(3,"Set2")
## 读取颜色值
mycolors
## 画箱线图
boxplot(mydata1$`Repeat1`, mydata1$`Repeat2`, mydata1$`Repeat3`, col=c("#66C2A5","#FC8D62","#8DA0CB"),xaxes="n")
title(main = "TestKit",xlab = "分组",ylab = "产出",font.lab=1,cex.lab=1.5,font.main=2,cex.main=2)
legend("topright",inset = .05,title = "分组",col=c("#66C2A5","#FC8D62","#8DA0CB"),pch=c(15,15,15),cex=c(1,1,1),
c("A","B","C"))
par()
par(opar)
参考
RobertI.Kabacoff, 卡巴科弗, 陈钢,等. R语言实战[J]. 2013.
https://www.omicsclass.com/article/746
网友评论