R语言 如何绘制多个柱状图
在这篇文章中,我们将讨论如何在R编程语言中绘制多个柱状图。
方法1:在基础R中绘制多个直方图
为了在基础R语言中创建多个直方图,我们首先制作一个直方图,然后在其上添加另一层直方图。但这样做的时候,有些图可能会被剪掉,因为轴是根据第一个图制作的。因此,我们可以在第一个图中添加xlim和ylim参数,以根据我们的数据集改变轴的限制。
语法
hist( data, col, xlim, ylim )
hist( data, col )
其中。
- data: 决定要绘制的数据向量。
- xlim: 确定X轴极限的向量。
- ylim: 确定具有Y轴极限的向量。
- col: 决定直方图条的颜色。
例子
这里,是在基础R语言中借助hist()函数制作的基本多个直方图。
# create data vector
x1 = rnorm(1000, mean=60, sd=10)
x2 = rnorm(1000, mean=0, sd=10)
x3 = rnorm(1000, mean=30, sd=10)
# create multiple histogram
hist(x1, col='red', xlim=c(-35, 100))
hist(x2, col='green', add=TRUE)
hist(x3, col='blue', add=TRUE)
输出
方法2:使用ggplot2制作多个直方图
为了在ggplot2中创建多个直方图,我们使用ggplot()函数和ggplot2包的geom_histogram()函数。为了将多个组分别可视化,我们使用美学函数的填充属性,通过一个分类变量给图着色。
语法
ggplot( df, aes( x, fill ) ) + geom_histogram( color, alpha )
其中。
- df: 决定要绘制的数据框架。
- x: 决定了数据变量。
- fill: 决定直方图中条形图的颜色。
- color: 决定直方图中条形图的边界颜色。
- alpha: 决定了绘图的透明度。
例子
这里,是通过使用R语言中ggplot2包的geom_histogram()函数制作的基本的多个柱状图。
# load library ggplot2
library(ggplot2)
# set theme
theme_set(theme_bw(12))
# create x vector
xAxis <- rnorm(500)
# create groups in variable using conditional
# statements
group <- rep(1, 500)
group[xAxis > -2] <- 2
group[xAxis > -1] <- 3
group[xAxis > 0] <- 4
group[xAxis > 1] <- 5
group[xAxis > 2] <- 6
# create sample data frame
sample_data <- data.frame(xAxis, group)
# create histogram using ggplot()
# function colored by group
ggplot(sample_data, aes(x=xAxis, fill = as.factor(group)))+
geom_histogram( color='#e9ecef', alpha=0.6, position='identity')
输出