ggplot2绘图系统--扩展包ggrepel.ggsci.gganimate.ggpubr等 部分扩展包可在CRAN直接下载,有些需借助devtools包从Github下载. 1. ggrepel包 用来在图上添加文字和标签,相比geom_text和geom_label函数,能将重叠的标签分开,并添加指示短横线. library(ggrepel) ggplot(mtcars,aes(wt,mpg))+geom_point(color='red')+ geom_text_repel(aes(la…
张铁军,陈兴栋等 著 R语言基础绘图系统 基础绘图包之高级绘图函数--par函数 基础绘图包并非指单独某个包,而是由几个R包联合起来的一个联盟,比如graphics.grDevices等. 掌握par函数(作为20个主要统计图形函数之一)的主要参数.?par adj 微调图中字符位置.adj=c(x,y),相对左下角坐标点,一般不超过1. bg 绘图区域背景色.par(bg="green") bty 设置图形边框样式.包含o, l , 7, c, u, ]可选. bty <- c…
R语言基础绘图系统 基础绘图包之低级绘图函数--内置颜色. 1.内置颜色选取 功能657种内置颜色.colors() 调色板函数:palette(), rgb(), rainbow(). palette默认8种颜色. #重新配置调色板 palette(rainbow(7)) #恢复默认的调色板 palette('default') rgb(red,green,blue)函数,分别加入多少红绿蓝成分,取值0-1. hsv函数(hue色调,saturation饱和度,value纯度)构造颜色. hc…
R语言基础绘图系统 基础绘图包之低级绘图函数--定义坐标轴.图例.文本 低级绘图函数:本身不具备图形绘制能力,只是在已有图形基础上添加元素. 函数 功能 arrows 添加箭头 axis 坐标轴 box 图形边框 abline 添加直线 clip 修剪图形 locator 识别图中点的坐标 layout 切分画布 legend 添加图例 lines 添加线条 segments 添加线段 rug 添加小地毯 polygon 构建多边形 points 添加散点 titles 添加标题 text 添加…
R语言基础绘图系统 基础图形--饼图.克利夫兰点图.条件图 6.饼图 pie(rep(1,26),col=rainbow(26), labels = LETTERS[1:26], #标签 radius = 1) #半径 library(RColorBrewer) pie.myData <- c(5.8,27,0.2,21.1,12.8,33.1) diseasetypes <- c('上感','中风','外伤','昏厥','食物中毒','其他') names(pie.myData) <-…
R语言基础绘图系统 基础图形--直方图.金字塔图 3.直方图 参数设置及比较. op <- par(mfrow=c(2,3)) data <- rnorm(100,10,5) hist(data,col = 'light green') #默认分组 hist(data,col = 'sky blue',breaks = 15) #分成15组 hist(data,col = 'orange',breaks = seq(-5,25,1)) #自定义组距 hist(data,col = 'pink'…
R语言基础绘图系统 基础图形--条形图.误差图 3.条形图 barplot接收的数据是矩阵而非数据框. data <- sample(c(50:80),5) barplot(data,col=heat.colors(5)) my_matrix <- matrix(data=sample(10:40,9), nrow = 3, dimnames = list(c('A',"B",'C'), paste('dose',1:3))) barplot(t(my_matrix), b…
R语言基础绘图系统 基础图形--散点图.盒形图 plot是一个泛型函数(generic method),对于不同的数据绘制不同的图形. par函数的大部分参数在plot中通用. 1.散点图 plot绘制散点图类型,type有6种,即p, b, l, s, o, n. type=c('p','b','l','s','o','n') par(mfrow=c(2,3)) for(i in 1:6){ plot(1:10,type = type[i], main = paste('type is: ',…
R语言基础绘图系统 基础绘图包之低级绘图函数--气泡图.一页多图.背景网格.添加线条和散点.数学表达式 4.气泡图 symbols是高级绘图函数,可在图上添加标记,标记的形状包括:circles,squares,rectangles,stars,thermometers,boxplots. 默认标记圆圈,可用于绘制气泡图 op <- palette(rainbow(5,end = 0.9)) with(trees,{ symbols(Height,Volume,circles = Girth/1…
ggplot2绘图系统--统计变换函数 在几何对象中以参数stat形式出现. 不同的几何对象对应不同的统计变换函数. 以直方图为例,几何对象geom_histogram(..., stat='bin')与stat_bin(.., stat='bar')的作用是一样的. 一般而言,我们不需要对数据进行额外的统计变换,使用默认的就好.但特殊情况时需要用到,如对数据进行log转换. 绘制QQ图 df <- data.frame(y=rt(200,df=5)) #随机生成t分布 ggplot(df,ae…
ggplot2绘图系统--图例:guide函数.标度函数.overrides.aes参数 图例调整函数guide_legend也属于标度函数,但不能单独作为对象使用,即不能如p+guide_legend()使用. 1. guides及guides_legend函数 guide_legend函数参数: guide_legend(title = , #图例标题 title.position = ,#top/bottom/right/left title.theme = , #图例风格 title.h…
ggplot2绘图系统--坐标轴调节 scale函数:图形遥控器.坐标轴标度函数: scale_x_continous scale_y_continous scale_x_discrete scale_y_discrete 1. 连续型变量坐标轴 函数及其参数: scale_x_continuous(name = , #坐标轴标签 breaks = , #定义刻度 minor_breaks = , labels = , #刻度标签 limits = , expand = c(0.05,0), #…
ggplot2绘图系统--添加标签与文本.数学表达式.条形图文本.注释 1. 文本与标签添加 geom_label的文本将以标签形式出现,即文本会带有一个背景色. geom_text则是纯文本形式展示. annotaete函数则在图上添加一个注释图层. 文本与标签区别 p <- ggplot(mtcars,aes(wt,mpg,label=rownames(mtcars))) a <- p+geom_text() b <- p+geom_label() gridExtra::grid.a…
ggplot2绘图系统--图形组合.字体选择.保存输出 1.图形组合 一页多图在基础包中利用par和layout函数来切分画布. ggplot2是先铺好网格背景,再进行绘图,所以要通过切分网格背景来实现一页多图. gridExtra包(grid扩展包)可用于图形排列组合.表格对象排列组合.规则多边形及椭圆的排列组合. library(grid) #在画布上画8图(列表) gs <- lapply(1:8, function(i)grobTree(rectGrob(gp=gpar(fill=i,a…
ggplot2绘图系统--标题 在期刊杂志中,需要设置的图形标题并不多. 除了图形标题,还有坐标轴标题(标签).图例标题.脚注等. 标题函数:ggtitle,labs 坐标轴标题函数:xlab,ylab labs的参数可以是title,subtitle,caption,x,y,也可以是映射属性,如color,size,shape等来表示图例标题. p <- ggplot(mtcars,aes(mpg,wt,color=factor(cyl)))+ geom_point() p+ggtitle(l…
ggplot2绘图系统--几何对象之线图 曲线:点连线.路径曲线.时间序列曲线.模型拟合曲线...... 直线:水平直线.垂直直线.斜线. 1.曲线 对象及其参数. #路径图 geom_path(mapping = , data = , stat = 'identity', position = 'identity', lineend = 'butt', #线段两端样式,round/square linejoin = 'round', #线段交叉样式,mitre/bevel linemitre…
ggplot2绘图系统--几何对象之散点图 以geom开头的函数超过30个.几何对象和标度函数scale密不可分.只有在aes中传入某个变量,scale才能发挥作用. 所谓标度scale,就是图形遥控器,用于控制元素属性.相对于color/shape等参数而言,可以进行更多.更精确的设置. 颜色标度设置 颜色梯度(gradient)标度(scale)函数. #双色梯度函数 scale_color_gradient(...,high='#56B1F7',low='#132B43',...) sca…
ggplot2绘图系统--几何对象之直方图.密度图 1.直方图 参数. geom_histogram(mapping = , data = , stat = 'bin', #统计变换,概率密度为density position = 'stack', binwidth = , #条柱宽度 bins = , #条柱数目,默认30 na.rm = FALSE, show.legend = NA, inherit.aes = TRUE ) 示例. ggplot(diamonds,aes(carat))+…
ggplot2绘图系统--几何对象之条图(包括误差条图) 1.条图 格式: geom_bar(mapping = , data = , stat = 'count', #统计变换默认计数 position = 'stack', #默认堆栈 width = , #条形宽度 binwidth = , na.rm = FALSE, show.legend = , inherit.aes = TRUE) positon: dodge并排 fill堆叠填充标准化为1 stack堆栈 identity不做调…
ggplot2绘图系统--图形映射 颜色的映射. #aes中映射变量 ggplot()+geom_point(aes(x=carat,y=price,color='blue'),#color视为单一变量 data=dsmall) #映射外的颜色 ggplot()+geom_point(aes(x=carat,y=price), data=dsmall,color='blue') #加I函数后,不管位置 #同样适用于fill/alpha/size/shape等属性 ggplot()+geom_po…
ggplot2绘图系统--主题函数 1. theme函数 theme_*系列函数提供了9种不同的风格. theme_grey/gray/bw/linedraw/light/minimal/classic/dark/void都只有2个参数:base_size表示文字大小,base_family表示字体. mg <- ggplot(mtcars,aes(x=mpg,y=wt))+geom_point() a=mg+theme_bw()+geom_text(aes(x=25,y=5),label='t…
ggplot2绘图系统--坐标系转换函数 包括饼图.环状条图.玫瑰图.戒指图.坐标翻转. 笛卡尔坐标系(最常见). ArcGIS地理坐标系(地图). Cartesian坐标系. polar极坐标系. 利用ploar坐标系绘图 coord_polar函数及参数: coord_polar(theta = 'x', #x/y start = 0, #0-12,起始点,对应时钟刻度 direction = 1) #1/-1,顺时针/逆时针 1. 饼图 #饼图 a <- ggplot(data = sub…
ggplot2绘图系统--几何对象汇总 前面介绍了常见的几种基本的几何对象,并且介绍了scale.stat等其他要素.后续将介绍position.themes.coord和faceting等函数. 这里对ggplot2几何对象进行汇总. abline/area/bar/bin2d/boxplot/contour/crossbar/density/density2d/dotplot/errorbar/errorbarh/freqpoly/hex/histogram/hline/vline/jitt…
ggplot2绘图系统--heatmap.geom_rect 这里不介绍更常见的pheatmap包. 1.heatmap函数 基础包. data=as.matrix(mtcars) #接受矩阵 heatmap(data) heatmap(data,scale = 'column') heatmap(data,scale = 'column', col=terrain.colors(256), Colv = NA, Rowv = NA) 2.geom_tile ggplot2 中,热图可看作若干个…
ggplot2绘图系统--几何对象之盒形图 参数: geom_boxplot(mapping = , #lower,middle,upper,x,ymax,ymin必须(有默认) #alpha/color/fill/linetype/shape/size/weight可选 data = , stat = 'boxplot', position = 'dodge', outlier.color = , #离群点颜色 outlier.shape = 19, outlier.size = 1.5, o…
ggplot2绘图系统 基础绘图包向ggplot2过渡--qplot 绘图理念的不同: 基础绘图包是先铺好画布,再在这张画布上作图(常规思维): ggplot2打破常规,采用图层叠加的方法. qplot函数既有plot特点,又体现了ggplot2的特征,是一个过渡函数. library(ggplot2) data("diamonds") qplot(x=carat, y=price, data=diamonds, geom = 'point', color=color) #geom几何…
1.生存曲线 基础包survival+扩展包survminer. survival包内置肺癌数据集lung. library(survival) library(survminer) str(lung) #拟合模型 fit <- survfit(Surv(time,status)~sex,data=lung) #绘制生存曲线 ggsurvplot(fit, pval = TRUE, #添加log rank检验的p值 conf.int = TRUE, #添加置信区间 risk.table = TR…
R绘制地图原理: R使用一个个多边形(polygon)来表示每个区域,通过顺次连接GIS数据提供的每个区域多边形的坐标来逐点绘制这些多边形,所以理论上只要得到GIS数据就可绘制相应的地图. 地图绘制说明: 必须使用完整的中国地图(包含台湾及南海九段线): R中大部分包对于中国地图支持不佳,论文发表中需手动添加清楚明确的南海九段线. 1.maps包 R中内置地图包.但是这个包中的中国地图缺乏台湾.西沙.南沙群岛,所以不要拿来做中国地图. library(maps) map('usa') map('…
ggplot2绘图系统--图形分面 ggplot2的分面faceting,主要有三个函数: facet_grid facet_wrap facet_null (不分面) 1. facet_grid函数 facet_grid函数及参数: facet_grid(facets, #x~y, x+y~z margins = F, #仅展示组合数据 scales = 'fixed', #是否通用坐标轴,free_x/free_y/free space = 'fixed', #是否保持相同面积 shrink…
1.海盗图 参数众多,其语法与基础包类似. 基础图. #devtools::install_github('ndphillips/yarrr') #install.packages('yarrr') library(yarrr) #基本海盗图 str(pirates) pirateplot(formula = age ~ favorite.pirate, data = pirates, xlab = 'Favorite Pirate', ylab = 'Age', main="") 散…