首页 > 编程 > R > 正文

R语言中条形图绘制函数及使用

2023-04-28 12:24:17
字体:
来源:转载
供稿:网友

条形图(bar chart)是用宽度相同的条形的高度或长短来表示数据多少的图形。它主要用来展示不同分类(横轴)下某个数值型变量(纵轴)的取值。条形图横轴上的数据是离散而非连续的。条形图可以横置或纵置。

在实际中,条形图主要有简单条形图,组合条形图和堆叠条形图。

在R语言的基础包中可以使用barplot()函数来绘制条形图。

R语言中barplot()函数的基本语法格式如下:

barplot(height, width = 1, space = NULL,
names.arg = NULL, legend.text = NULL, beside = FALSE,
horiz = FALSE, density = NULL, angle = 45,
col = NULL, border = par("fg"),
main = NULL, sub = NULL, xlab = NULL, ylab = NULL,
xlim = NULL, ylim = NULL, xpd = TRUE, log = "",
axes = TRUE, axisnames = TRUE,
cex.axis = par("cex.axis"), cex.names = par("cex.axis"),
inside = TRUE, plot = TRUE, axis.lty = 0, offset = 0,
add = FALSE, args.legend = NULL, ...)

主要参数的含义如下:

height:向量或矩阵,用来构成条形图中各条的数值。

width : 可选参数,用于指定条的宽度;给定单个值时,不起作用。

space :每个条之间的间距

names.arg:位于条低端的文字标签。

legend.text:图例说明文字,height为矩阵时有效。

beside: 逻辑值,为FALSE时绘制堆叠图,为TRUE时绘制分组图。

horiz: 逻辑值,为FALSE时,绘制垂直条形图,为TRUE时绘制水平条形图。

density:一个向量值。当指定该值时,条将以斜线填充。即每英寸斜线的密度。

angle:以逆时针方向给出的阴影线的角度。

col:条的填充色。

border:条的边框颜色,如设置为TRUE时,边框颜色将于阴影线的颜色相同。

main:用于指定绘图的主标题。

sub:用于指定绘图的次标题。

xlab, ylab :用于指定x轴和y轴的标签。

xlim, ylim:分别用于指定x轴和y轴的取值范围。

下面举例子说明该函数的具体使用方法:

(1)绘制简单的条形图

math <-  c(78, 92, 89, 61, 95)
barplot(math)

结果如下图所示:

barplot绘制简单条形图

(2)添加x轴上的分类标签

math <-  c(78, 92, 89, 61, 95)
names<-c("小刚", "小明", "小花", "小芳", "小丽")
barplot(math,names.arg=names)

结果如下图所示:

barplot带分类轴的条形图

(3)指定填充色,边框色,标题

math <- c(78, 92, 89, 61, 95)
names<-c("小刚", "小明", "小花", "小芳", "小丽")
barplot(math,names.arg=names,border="green",main="成绩",
col=c("red","orange","lightblue","yellow","lightgreen"))

运行结果如下图所示:

barplot函数指定填充色

(4)绘制堆叠条形图

math <- c(78, 92, 89, 61, 95)
english <- c(90, 89, 95, 70, 98)
grade <- matrix(c(math,english),2,5)
#names<-c("小刚", "小明", "小花", "小芳", "小丽")
barplot(grade,border="green",names.arg=names,
main="成绩",xlab="姓名",ylab="成绩",legend=c("数学","英语"))

绘图结果如下图所示:

barplot函数绘制堆叠图

(5)绘制簇状(分组)条形图

math <- c(78, 92, 89, 61, 95)
english <- c(90, 89, 95, 70, 98)
grade <- matrix(c(math,english),2,5)
#names<-c("小刚", "小明", "小花", "小芳", "小丽")
barplot(grade,names.arg=names,beside=TRUE,
main="成绩",xlab="姓名",ylab="成绩",col=rainbow(10))

绘图结果如下图所示:

barplot函数绘制分组条形图

rainbow函数用来生成指定n种连续颜色的向量。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表