R语言教程之如何生成条形图
使用barplot(高度)功能创建条形图,其中高度是矢量或矩阵。如果高度是矢量,则这些值决定了图中条的高度。如果 height是一个矩阵,旁边的选项= FALSE, 那么每个图的条对应一列高度,列中的值给出堆叠的“子条”的高度。如果高度是矩阵,旁边= TRUE,那么每列中的值是并列的而不是堆叠的。包含选项names.arg =(字符向量)以标记条形。选项horiz = TRUE 创造一个水平的barplot。
简单的条形图
# Simple Bar Plot
counts <- table(mtcars$gear)
barplot(counts, main="Car Distribution",
xlab="Number of Gears")
# Simple Horizontal Bar Plot with Added Labels
counts <- table(mtcars$gear)
barplot(counts, main="Car Distribution", horiz=TRUE,
names.arg=c("3 Gears", "4 Gears", "5 Gears"))
(要在R中练习制作简单的条形图,请尝试使用此交互式视频。)
堆积条形图
# Stacked Bar Plot with Colors and Legend
counts <- table(mtcars$vs, mtcars$gear)
barplot(counts, main="Car Distribution by Gears and VS",
xlab="Number of Gears", col=c("darkblue","red"),
legend = rownames(counts))
分组条形图
# Grouped Bar Plot
counts <- table(mtcars$vs, mtcars$gear)
barplot(counts, main="Car Distribution by Gears and VS",
xlab="Number of Gears", col=c("darkblue","red"),
legend = rownames(counts), beside=TRUE)
笔记
条形图不需要基于计数或频率。您可以创建表示平均值,中位数,标准偏差等的柱状图。使用aggregate()函数并将结果传递给barplot()函数。
默认情况下,分类轴线被抑制。包含选项axis.lty = 1来绘制它。
对于许多条,条形标签可能开始重叠。您可以使用cex.names =选项减小字体大小。小于1的值将缩小标签的大小。另外,您可以使用以下 图形参数来帮助文本间距:
# Fitting Labels
par(las=2) # make label text perpendicular to axis
par(mar=c(5,8,4,2)) # increase y-axis margin.
counts <- table(mtcars$gear)
barplot(counts, main="Car Distribution", horiz=TRUE, names.arg=c("3 Gears", "4 Gears", "5 Gears"), cex.names=0.8)