R语言barplot作条形图

Usage

barplot(height, ...)

height 为绘制条形图的向量或值矩阵。如果高度是一个向量,则绘图由一系列矩形条组成,其高度由向量中的值给出。如果“高度”为矩阵且“旁边”为FALSE,则绘图的每个条形对应一列高度,该列中的值表示组成条形的堆叠子条形的高度。如果“高度”为矩阵且“旁边”为真,则每列中的值将并置而不是堆叠。

1.  简单的条形图

# 向量的条形图
barplot(height = 1:10)

height <- c(1:3)
names(height) <- c("A", "B", "C")
barplot(height)

# 修改条形标签名
barplot(height,names.arg=paste("group",c(1:3)))

# install.packages("vcd")
library(vcd)
counts <- table(Arthritis$Improved)
class(counts)
barplot(counts)

# 矩阵的条形图
M = matrix( c(2,6,5,1,10,4), nrow = 2,ncol = 3)
barplot(M)

2. 调整标签名文字大小

height=seq(1,3)
barplot(height,names.arg=paste("group",c(1:3)),cex.names=0.8)

3. 加颜色

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

4. 设置柱子边框

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

barplot(1:4, col = rainbow(4), border = 'black')

默认为 black, 当border = NA时,表示没有边框

5. 修改图例

M = matrix( c(2,6,5,1,10,4), nrow = 2,ncol = 3)

rownames(M) <- c("A", "B")
colnames(M) <-c( "C", "D","E")
barplot(M, legend.text = TRUE, args.legend = list(x = "topleft"))

legend.text : 图例的文字说明, 只有当height参数的值是matrix 时,才起作用,默认显示的是matrix的rownames 属性。

6. 调整宽度

barplot(c(1,2,3),width=c(1,2,3))
barplot(1:5, width = 5:1)

barplot(height = cbind(x = c(465, 91) / 465 * 100,
                       y = c(840, 200) / 840 * 100,
                       z = c(37, 17) / 37 * 100),
        width = c(465, 840, 37))

7. 调整间隙

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

9. 水平条形图

library(vcd)
counts <- table(Arthritis$Improved)
barplot(counts,main="Horizontal Bar plot",
        xlab="Frequency",ylab="Improvement",
        horiz=TRUE)

# plot函数也可以做柱状图
plot(Arthritis$Improved,main="Horizontal Bar plot",
     xlab="Frequency",ylab="Improvement",
     horiz=TRUE)
# Arthritis$Improved 因子

10. 堆砌条形图

library(vcd)
counts <- table(Arthritis$Improved,Arthritis$Treatment)
barplot(counts,main="Stacked Bar plot",
        xlab="Treatment",ylab="Frequency",
        #col=c('red','yellow','green'),
        legend=rownames(counts))

11. 分组条形图

# 设置 beside=TRUE
barplot(counts,main="Grouped Bar plot",
        xlab="Treatment",ylab="Frequency",
        col=c('red','yellow','green'),
        legend=rownames(counts),beside=TRUE)

12. 均值、中位数、标准差等的条形图

library(vcd)
means <- aggregate(Arthritis$Age,by=list(Arthritis$Treatment),FUN=sd)
means <- aggregate(Arthritis$Age,by=list(Arthritis$Treatment),FUN=mean)

#参数names.arg允许你指定一个字符向量作为条形的标签名
barplot(means$x,names.arg=means$Group.1)
title("Mean age of groups")


   

  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值