R - 条形图
条形图使用矩形条来表示数据,条的长度与变量的值成比例。R 使用 barplot() 函数来创建条形图。 R 可以在条形图中绘制垂直和水平条。 在条形图中,每个条可以赋予不同的颜色。
语法
R 中创建条形图的基本语法如下 −
barplot(H,xlab,ylab,main, names.arg,col)
以下是所用参数的说明 −
- H 是用于条形图的包含数值值的向量或矩阵。
- xlab 是 x 轴的标签。
- ylab 是 y 轴的标签。
- main 是条形图的标题。
- names.arg 是出现在每个条下面的名称向量。
- col 用于为图中的条赋予颜色。
示例
使用输入向量和每个条的名称即可创建一个简单的条形图。
下面的脚本将在当前 R 工作目录中创建并保存条形图。
# 为图表创建数据 H <- c(7,12,28,3,41) # 为图表文件命名 png(file = "barchart.png") # 绘制条形图 barplot(H) # 保存文件 dev.off()
执行上述代码后,会产生以下结果 −
条形图标签、标题和颜色
可以通过添加更多参数来扩展条形图的功能。main 参数用于添加 标题。col 参数用于为条添加颜色。names.arg 是一个与输入向量值数量相同的向量,用于描述每个条的含义。
示例
下面的脚本将在当前 R 工作目录中创建并保存条形图。
# 为图表创建数据
H <- c(7,12,28,3,41)
M <- c("Mar","Apr","May","Jun","Jul")
# 为图表文件命名
png(file = "barchart_months_revenue.png")
# 绘制条形图
barplot(H,names.arg=M,xlab="Month",ylab="Revenue",col="blue",
main="Revenue chart",border="red")
# 保存文件
dev.off()
执行上述代码后,会产生以下结果 −
分组条形图和堆叠条形图
我们可以使用矩阵作为输入值来创建带有条组和每个条中堆叠的分组条形图。
两个以上的变量以矩阵形式表示,用于创建分组条形图和堆叠条形图。
# 创建输入向量。
colors = c("green","orange","brown")
months <- c("Mar","Apr","May","Jun","Jul")
regions <- c("East","West","North")
# 创建值矩阵。
Values <- matrix(c(2,9,3,11,9,4,8,7,3,12,5,2,8,10,11), nrow = 3, ncol = 5, byrow = TRUE)
# 为图表文件命名
png(file = "barchart_stacked.png")
# 创建条形图
barplot(Values, main = "total revenue", names.arg = months, xlab = "month", ylab = "revenue", col = colors)
# 为图表添加图例
legend("topleft", regions, cex = 1.3, fill = colors)
# 保存文件
dev.off()
