barplot 函数用于绘制柱状图,下面对其常用的参数进行一个详细的解释:

1)height : 高度,通过这个参数可以指定要画多少个柱子以及每个柱子的高度,其值有两种格式,

第一种 :向量 vector, 此时会根据向量的长度确定图中有多少个柱子,向量中的每个值就是柱子的高度

代码示例:

barplot(height = 1:10)

效果图如下:

从图中可以看出,共有10个柱子,柱子的高度为1到10,和height 参数的向量保持一致;

第二种:矩阵,matrix, 此时用于画堆积柱状图

代码示例:

data <- cbind(a = 1:4, b = 1:4)
barplot(data)

效果图如下:

从图中可以看出,输入的矩阵data一共有a和b两列,所以图中只有两个柱子,矩阵有4行,所以在每个柱子又由4个小的柱子堆积起来,所以矩阵常用来绘制堆积柱状图

需要注意的是,当输入参数为矩阵时,默认是堆积柱状图,这种默认行为其实是通过 beside 参数进行控制,beside 默认值为 FALSE, 当为TRUE 时,我们看下效果:

代码示例:

data <- cbind(a = 1:4, b = 1:4)
barplot(data, beside = T)

效果图如下:

从图中可以看到,当设置besdie = TRUE 时,原本堆积在一起的柱子现在变成并列的了;

2)width: 宽度,控制每个柱子的宽度,默认值为1,值得注意的是,这个参数的值是可以循环使用的,当我们只设置一个值时,会自动循环,生成长度和柱子数目相同的向量,效果就是所有柱子的宽度是一样的,其实也可以指定多个值,使每个柱子的长度不一样

代码示例:

barplot(1:5, width = 5:1)

效果图如下:

3)space:间隔,指定每个柱子左边的空白区域的宽度,这个值为一个百分比,默认值为0.2, 实际的间隔 = 0.2 * 1(所有柱子的平均宽度) = 0.2; 这个参数的值和width 参数类似,可以只设置一个值,也可以指定不同的柱子间隔不同;

代码示例:

barplot(1:3, space = c(0.1, 0.2, 0.3))

效果图如下:

4)names.arg : 每个柱子下面的标记,当height 为 vector 时,默认的标记为向量的names 属性, 当height 为 matrix 是,默认为 matrix 的colnames 属性

代码示例:

par(mfrow = c(1, 2))
height <- c(1:3)
names(height) <- c("A", "B", "C")
barplot(height) data <- cbind("A" = 1:4, "B" = 1:4)
barplot(data)

效果图如下:

上面的默认用法,names.arg 参数的主要用途是当输入的height 缺少对应的属性时,自己手工赋值,或者对已有的属性不满意,重新赋值

代码示例:

par(mfrow = c(1, 2))
height <- c(1:3)
names(height) <- c("A", "B", "C")
barplot(height, names.arg = c("A1", "A2", "A3")) data <- cbind("A" = 1:4, "B" = 1:4)
barplot(data, names.arg = c("D", "E"))

效果图如下:

5) legned.text : 图例的文字说明, 只有当height参数的值是matrix 时,才起作用,默认显示的是matrix的rownames 属性,其值有两种指定形式,

第一种:逻辑值,是否需要显示图例,默认为FALSE

代码示例:

data <- cbind(a = 1:4, b = 1:4)
rownames(data) <- c("A", "B", "C", "D")
barplot(data, legend.text = TRUE)

效果图如下:

第二种, 指定图例中的文字内容,相当于修改了matrix的 rownames 属性

代码示例:

data <- cbind(a = 1:4, b = 1:4)
rownames(data) <- c("A", "B", "C", "D")
barplot(data, legend.text = c("E", "F", "G", "H"))

效果图如下:

从上面两张图可以看出来,虽然可以通过这种方式显示图例,但是图里的位置都是固定在了右上角,会出现和柱子重叠的情况,最佳的显示办法还是单独调用legend 函数,添加图例;

6)beside: 之前提到过的,控制group bar的排列方式, 默认FALSE, 堆积排列,TRUE 代表水平排列

代码示例:

par(mfrow = c(1, 2))
data <- cbind(a = 1:4, b = 1:4)
barplot(data, main = "beside = F")
barplot(data, beside = T, main = "beside = T")

效果图如下:

7) horiz : 逻辑值,默认FALSE , 当值为TRUE 时,将x轴和y轴转置;

代码示例:

par(mfrow = c(1, 2))
barplot(1:4, main = "horiz = F")
barplot(1:4, main = "horiz = T", horiz =T)

效果图如下:

8)col : 柱子的填充色,默认为灰色

代码示例:

barplot(1:4, col = "green")

效果图如下:

除了设置col参数的值为一个外,还支持不同的柱子设置不同的颜色

代码示例:

barplot(1:4, col = rainbow(4))

效果图如下:

9) border : 柱子边框的颜色, 默认为 black, 当border = NA时,表示没有边框

代码示例:

barplot(1:4, col = rainbow(4), border = NA, main = "border = NA")

效果图如下:

10)density 和 angle : 设置柱子用线条填充,density 控制线条的密度, angel 控制线条的角度

代码示例:density 控制线条的密度

par(mfrow = c(1, 3))
barplot(rep(1,4), density = 1, main = "density = 1")
barplot(rep(1,4), density = 2, main = "density = 2")
barplot(rep(1,4), density = 3, main = "density = 3")

效果图如下:

代码示例:angle 控制线条的角度, 必须和density 参数搭配使用才能发挥作用

par(mfrow = c(1, 3))
barplot(rep(1,4), density = 2, angle = 45, main = "angle = 45")
barplot(rep(1,4), density = 2, angle = 90, main = "angle = 90")
barplot(rep(1,4), density = 2, angle = 180, main = "angle = 180") 

效果图如下:

11)axes :逻辑值,控制是否显示轴线

代码示例:

par(mfrow = c(1, 2))
data <- cbind(a = 1:4, b = 1:4)
barplot(data, axes = F, main = "axes = F")
barplot(data, axes = T, main = "axes = T")

效果图如下:

12)axisnames : 控制是否显示柱子的标签

代码示例:

par(mfrow = c(1, 2))
data <- cbind(a = 1:4, b = 1:4)
barplot(data, axisnames = F, main = "axisnames = F")
barplot(data, axisnames = T, main = "axisnames = T")

效果图如下:

13)offset : 设置柱子的起始位置在y轴上的位置, 默认值为0

代码示例:

par(mfrow = c(1, 3))
data <- cbind(a = 1:4, b = 1:4)
barplot(data, offset = 0, main = "offset = 0")
barplot(data, offset = 1, main = "offset = 1")
barplot(data, offset = 2, main = "offset = 2")

效果图如下:

R语言barplot绘图函数的更多相关文章

  1. R语言——基本绘图函数

    通过一个综合的例子测试绘图函数 学习的内容是tigerfish老师的教程. 第一节:基本知识 用seq函数产生100位学生的学号. > num = seq(,) > num [] [] [ ...

  2. [R]关于R语言的绘图函数

    1. 首先就是plot(x,y,...) 参数: x: 所绘图形横坐标构成的对象 y: 所绘图形纵坐标构成的对象 type: 指定所绘图形类型 pch: 指定绘制点时使用的符号 cex: 指定符号的大 ...

  3. R语言低级绘图函数-symbols

    严格意义上将symbols 并不能算是一个低级的绘图函数,因为它不仅可以在一幅已经存在的图标上添加元素,还可以创建一张新的图表 鉴于它绘图时的灵活性,我把它归入到低级绘图函数中 symbols 可以创 ...

  4. R语言curve绘图函数

    curve 函数常用于绘制函数对应的曲线,确定函数的表达式,以及对应的需要展示的起始坐标和终止坐标,curve函数就会自动化的绘制在该区间内的函数图像 基本用法,代码示例: curve(sin, -2 ...

  5. R语言低级绘图函数-abline 转载

    abline 函数的作用是在一张图表上添加直线, 可以是一条斜线,通过x或y轴的交点和斜率来确定位置:也可以是一条水平或者垂直的线,只需要指定与x轴或y轴交点的位置就可以了 常见用法: 1)添加直线 ...

  6. R语言boxplot绘图函数

    boxplot 用于绘制箱线图,我们都知道boxplot 用于展示一组数据的总体分布,在R语言中,支持两种输入数据的方式 第一种:x , 这个参数指定用于绘制箱线图所用的数据,是一个向量 代码示例: ...

  7. R语言hist绘图函数

    hist 用于绘制直方图,下面介绍每个参数的作用: 1)x: 用于绘制直方图的数据,该参数的值为一个向量 代码示例: data <- c(rep(1, 10), rep(2, 5), rep(3 ...

  8. R语言低级绘图函数-grid

    grid 函数用来在一张图表上添加网格线, 基本用法:默认在添加刻度线的地方添加网格线 plot(1:5, 1:5, xlim = c(0,6), ylim = c (0,6), type = &qu ...

  9. R语言低级绘图函数-axis

    axis函数用来在一张图表上添加轴线,区别于传统的x轴和y轴,axis 允许在上,下,左, 右4个方向添加轴线 以x轴为例,一条轴线包含3个元素,水平的一条横线,叫做axis line , 刻度线, ...

随机推荐

  1. ansible 一些参数的整理

    用ansible 来管理远程的主机,最大的好处是方便,ansible不用在远程的主机上安装ansible的客户端,ansible只要能通过ssh连接上远程主机就 能对它进行管理.也就是说ansible ...

  2. 修改easyui的easyloader的默认css目录路径

    easyloader默认情况下会使用js文件所在目录下的themes文件夹中的css,这里改成项目自定义的css文件夹. 首先找到: var m=src.match(/easyloader\.js(\ ...

  3. window 2008 定时任务调用bat不成功的解决方法

    之前一直有在一台XP的机器上调用定时任务.如今这台机器换成了window 2008的操作系统,调用一直不成功.只是在偶然之间攻克了. 选择"任务计划程序"     任务计划程序库 ...

  4. UVA 1264 - Binary Search Tree(BST+计数)

    UVA 1264 - Binary Search Tree 题目链接 题意:给定一个序列,插入二叉排序树,问有多少中序列插入后和这个树是同样的(包含原序列) 思路:先建树,然后dfs一遍,对于一个子树 ...

  5. Avoid strong reference cycles

    转自:http://masteringios.com/blog/2014/03/06/avoid-strong-reference-cycles/ With the introduction of A ...

  6. node.js 使用ejs模板引擎时后缀换成.html

    这是一个小技巧,看着.ejs的后缀总觉得不爽,使用如下方法,可以将模板文件的后缀换成我们习惯的.html. 1.在app.js的头上定义ejs: 代码如下: var ejs = require('ej ...

  7. WPF多线程访问控件

    大家知道WPF中多线程访问UI控件时会提示UI线程的数据不能直接被其他线程访问或者修改,该怎样来做呢? 分下面两种情况 1.WinForm程序 1)第一种方法,使用委托: private delega ...

  8. 安卓测试之---Monkey

    Tip:在阅读此篇之前,请先了解ADB命令: http://www.cnblogs.com/pearl07/p/8572390.html 一.什么是Monkey Monkey是Android SDK提 ...

  9. Rokid开发者社区skill之【历史上的今天】之简介+玩法+设计+实现+心得

    Skill简介: 来源:好奇心.探索欲.趣味性: 资源:百度百科: 方式:实时获取,自动更新: 技能玩法: 想要进入历史上的今天这个skill,则对若琪说:若琪,打开历史上的今天. 想要了解某天的历史 ...

  10. VBA学习笔记(3)--文件夹操作

    说明(2017.3.22): 1. 根据兰色幻想VBA80集视频教学,总结 2. 大部分可以用自带函数处理,不过复制文件夹需要用到FileSystemObject对象,打开文件夹用到shell Pub ...