技术贴 | R语言:pie绘制饼图

本文由阿童木根据实践经验而整理,希望对大家有帮助。

原创微文,欢迎转发转载。

导读

饼图可以展示整体中各个部分占整体的比例。利用label,col,border可分别调整pie图的标签、饼颜色、边颜色。如果输入数据是矩阵,即需要绘制很多个指数的饼图,可以使用for循环快速批量画图,这是一般基于图形界面的画图软件做不到的。下面是以上参数的使用方法。

一、模拟输入数据

set.seed(1995)  
# 随机种子

data=matrix(abs(round(rnorm(20, mean=20, sd=5))), 5, 4)  
# 随机正整数,5行,4列

colnames(data)=paste("C", 1:4, sep=".")  
# 列名

rownames(data)=paste("R", 1:5, sep=".")  
# 行名

data  # 查看数据,如下:

二、画一个饼图

>以第一列为绘图输入画一个饼图

pdf("pie1.pdf")

pie(data[,1])

dev.off()

>打开pie1.pdf,绘图结果如下:

、配色

>使用RColorBrewer包的brewer.pal函数设置配色方案为"Set3"。"Set3"能给相邻单元绘上对比鲜明的颜色。

关键参数:

border="white"# 边界线条设为白色

col=brewer.pal(5,"Set3") # 5种颜色,Set3方案

library(RColorBrewer)

pdf("pie2.pdf")

pie(data[,1], border="white", col=brewer.pal(5, "Set3"))

dev.off()


>打开pie2.pdf,绘图结果如下:

四、定制标签

>关键参数:

data[,1]/sum(data[,1]# 计算每个占总比

round(xx,1) # 保留一位小数

rownames(data)# 取行名

paste(xx,"(", percent, "% )") # 字符粘贴

pdf("pie3.pdf")

percent <- round(data[,1]/sum(data[,1])*100, 1)
# 计算比例,保留一位小数
label <- paste(rownames(data), "(", percent, "% )")
# 定制标签
pie(data[,1], border="white", col=brewer.pal(5, "Set3"), label=label)

dev.off()

>打开pie3.pdf,绘图结果如下:


五、画多个饼图

>使用for循环将多个饼图画到一个pdf文件中。

关键参数:

length(data[1,])# 计算列数作为for循环数

main=colnames(data)[i]# 以列名命名每个pie

pdf("pie4.pdf")

for(i in 1:length(data[1,]))
{
    percent <- round(data[,i]/sum(data[,i])*100, 1)
    # 计算比例,保留一位小数
    label <- paste(rownames(data), "(", percent, "% )")
    # 定制标签
    pie(data[,i], border="white", col=brewer.pal(5, "Set3"), label=label, main=colnames(data)[i])
}

dev.off()

>打开pie4.pdf,绘图结果如下:

感谢阅读~




你可能还喜欢

技术贴 | 16S专题 | 简单介绍如何用自己的笔记本处理高通量16S数据

2 技术贴 | 宏基因组专题 | 组装工具盘点和比较

3 技术贴 | R语言菌群Alpha多样性分析和绘图

技术贴 | 宏转录组专题 | DDBJ数据库:宏转录组测序数据下载

技术贴 | R语言pheatmap聚类分析和热图


(0)

相关推荐

  • 用R语言pie函数做饼图

    ggplot2不直接支持制作饼图,尚需先做柱形图再变换坐标轴才转换为饼图,比较繁琐.所以在R中做饼图,小兵先练习使用自带饼图函数pie()来实现. 案例数据源:雇员数据 请在本公众号后台回复关键词[雇 ...

  • 饼图

    饼图,又名Pie Graph,常用于统计学模块. 本篇介绍用matplotlib.pyplot.pie来绘制饼图. 1.饼图 如下图所示,是一个最简单的饼图,将1分为3:7,然后用饼图的方式表示出来. ...

  • R语言配色方案-RcolorBrewer包

    欢迎来到医科研,这里是白介素2的读书笔记,跟我一起聊临床与科研的故事, 生物医学数据挖掘,R语言,TCGA.GEO数据挖掘. R配色包-RcolorBrewer包  display.brewer.al ...

  • 数据分析之Matplotlib(六)饼图(pie)

    饼图介绍 饼图广泛得应用在各个领域,用于表示不同分类的占比情况,通过弧度大小来对比各种分类.饼图通过将一个圆饼按照分类的占比划分成多个区块,整个圆饼代表数据的总量,每个区块(圆弧)表示该分类占总体的比 ...

  • 【R绘图】ggplot2---调整绘图区域大小

    熟悉R绘图的朋友肯定知道,在普通绘图中,图片的大小可以直接在png()和pdf()中指定,而绘图区大小则可以用par()中的mar或mai来指定. 但是在ggplot2中,图片大小依然可以在png和p ...

  • 填坑-2017年的主题调整专题(基础版):大匠致巧,随R所图

    title: "大匠致巧,随R所图"author: "wentao"date: "2020/12/23"output: html_docum ...

  • 技术贴 | R语言:绘制基因组基因箭头图

    本文由微科盟阿童木根据实践经验而整理,希望对大家有帮助. 原创微文,欢迎转发转载. 举例介绍如何用R语言gggenes函数包把基因预测得到的gff或gtf文件(含基因位置信息)中的基因类型.位置可视化 ...

  • 技术贴 | R语言:如何绘制合并气泡图?

    本文由yang根据实践经验而整理,希望对大家有帮助. 原创微文,欢迎转发转载. 导读 在组学数据挖掘中在进行差异基因表达分析时,得到显著差异基因后,接下来就需要分析这些基因参与了哪些功能,常见的就是G ...

  • 技术贴 | R语言:大样本多组学的相关性计算、热图绘制

    本文由可爱的乔巴根据实践经验而整理,希望对大家有帮助. 原创微文,欢迎转发转载. 导读 上期介绍了利用psych包计算两组小样本的相关性并进行热图可视化,但当样本数据量非常大时,psych包会耗费的时 ...

  • 技术贴 | R语言:小样本多组学的相关性计算、热图绘制

    本文由可爱的乔巴根据实践经验而整理,希望对大家有帮助. 原创微文,欢迎转发转载. 导读 在多组学数据关联挖掘中,在我们筛选到目标基因集以及目标蛋白质集合或目标代谢物集合后,在进行基因与蛋白质或代谢关联 ...

  • 技术贴 | R语言:构建一个转录代谢互作调控网络:(二)热图的美化以及大样本分组信息的快速注释

    本文由可爱的乔巴根据实践经验而整理,希望对大家有帮助. 原创微文,欢迎转发转载. 导读 上期介绍了利用WGCNA包中的Cor函数和corPvalueStudent函数计算两组小样本的相关性并进行热图可 ...

  • R语言简单绘制小提琴图

    原始数据: R语言脚本: install.packages("vioplot")#安装vioplot包 library("vioplot") #安装和载入vio ...

  • 技术贴 | R语言:组学关联分析和pheatmap可视化

    本文由阿童木根据实践经验而整理,希望对大家有帮助. 原创微文,欢迎转发转载. 举例展示R语言组学关联分析的方法.宏基因组数据以KO-样品丰度表为例.代谢组数据以metabolite-样品丰度表为例.基 ...

  • 技术贴 | R语言:手把手教你如何画ggplot堆叠图、冲积图、分组分面、面积图

    利用R语言堆叠图,我们可以将一个项目中所有样品的物种组成展示出来.下面介绍如何利用R语言进行物种组成分析和可视化.过程分为以下几步: 1)模拟丰度矩阵: 2)模拟分组: 3)标准化丰度: 4)调整格式 ...