R语言学习丨绘图函数基础知识,pie()、barplot()从零教你绘制饼图、条形图

今天笔记的内容是R语言中绘图相关的基础知识,绘制简单的饼图、条形图。公众号:生信分析笔记

饼图怎么画?

R语言中pie()函数用于绘制饼状图,需要准备向量数据、标签、调色板等信息,然后利用函数生成图片,语法格式为:

pie(
x,  #数值向量,饼状图中每块面积大小
labels = names(x), #字符向量,各扇区的名称
edges = 200, #外边圆圈的边数,越大越平滑
radius = 0.8, #饼图半径
clockwise = FALSE,  #逻辑值,是否对各块按顺时针进行分隔
density = NULL, #底纹密度
angle = 45, #底纹斜率
col = NULL,  #每个区域的颜色
main = NULL,  #标题
…)

接下来进行示例演示,我们做一个简单的饼图。

#安装与加载R包
install.packages("plotrix", repos = "https://mirrors.ustc.edu.cn/CRAN/")
library(plotrix)  #plotrix用于绘制3d饼图
#输入变量
x = c(1, 2, 4, 8)
#输入标签名称
ns = c("a", "b", "c", "d")
#输入调色信息
cols = c("#ED1C24","#22B14C","#FFC90E","#3f48CC")
#绘制3D饼图
pie3D(x,labels = ns,explode = 0.1, main = "first pie plot")
#绘制平面饼图
pie(x,labels = ns,col=cols)

然后可以在右下角plot窗口看到如下饼图:
3D饼图


平面饼图
可以使用 png()jpeg()bmp() 函数设置输出的文件格式为图片,如下:

#设置文件名称和参数
png(filename = "first-pie.png",height = 400,width = 400)
#绘制图形
pie(x,labels = ns,col=cols)
#关闭打印器(相当于把图片保存,只有这样才能打开这个图片,不然是0B,因为系统默认处于一直编辑状态)
dev.off()

条形图怎么画?

R语言中用 barplot() 函数来创建条形图,格式如下:

barplot(
height, #条形图的高度
width, #条的宽度
sapace #条之间的间隙值
horize #是否水平放置
xlab, #x轴标签
ylab, #y轴标签
main, #标题
names.arg, #每个矩形条的名称
col, #颜色
)

接下来进行示例展示,绘制两个条形图,前者是常见的一维向量条形图,后者是二维向量制作的堆叠条形图。

a <- c(1,2,3,4,3,2,1)
names(a) <- c('a','b','c','d','e','f','g')
png(filename = "secendplot.png")
#绘制条形图
barplot(a,main = "two barplot",legend=FALSE)
dev.off()
#工作目录下会有一个图片文件生成,打开可以查看结果。


接来下用矩阵来试试,3×3的矩阵绘制出来有两部分堆叠在一起。

b <- matrix(c(1,2,3,4,2,3,1,4,1),nrow = 3,byrow = T)
colnames(b) <- c('c1','c2','c3')
rownames(b) <- c('r1','r2','r3')
barplot(b,main = "3 barplot",legend=FALSE)
#完成后在屏幕右下角plot窗口查看图片,也可以进行保存。


beside 参数

  • beside=FALSE 时,条形图的高度是矩阵的数值,矩形条是水平堆叠的。

  • beside=TRUE 时,条形图的高度是矩阵的数值,矩形条是并列的。

比如,用刚刚矩阵的数据绘制时,添加一个参数beside=TRUE,得到下列结果。

barplot(b,main = "4 barplot",legend=FALSE,beside = TRUE)


补充内容:有时候安装R包出现报错,安装失败。可以试试通过下面这种方式来安装,只需要复制代码,然后把想安装的包名称写进去就可以。

if (!require("BiocManager", quietly = TRUE))
  install.packages("BiocManager")
BiocManager::install("这里填写需要安装的R包")

参考资料:https://www.runoob.com/r

本文由mdnice多平台发布

posted @ 2022-09-24 22:40  生信分析笔记  阅读(604)  评论(0编辑  收藏  举报