R语言 的并排条形图

R语言 的并排条形图

在这篇文章中,我们将讨论如何在R编程语言中并排绘制条形图。

方法1:使用par()函数

为了绘制并排的图,可以使用par()函数。

语法

par(mfrow, mar, mgp, las)

参数

  • mfrow– 一个长度为2的数字向量,它设置了要划分的行和列的框架。
  • mar – 一个长度为4的数字向量,按以下顺序设置边距大小:底部、左侧、顶部和右侧。
  • mgp – 一个长度为3的数字向量,用于设置相对于内部绘图窗口边缘的轴标签位置。
  • las – 一个数字值,表示刻度线标签的方向,以及初始化后添加到绘图中的任何其他文本。

这些图是正常绘制的,并且独立于其他图。如果要并排绘制,请传递行和列的数量,就像定义一个网格一样。

例子: 使用基本R绘制并排的条形图

# Define data-set columns
x1 <- c(31,13,25,31,16)
x2 <- c(12,23,43,12,22,45,32)
 
label1 <- c('geek','geek-i-knack','technical-scripter',
            'content-writer','problem-setter')
label2 <- c('sun','mon','tue','wed','thur','fri','sat') 
 
# set the plotting area into a 1*2 array
par(mfrow=c(1,2))   
 
# Draw the two bar chart using above datasets
barplot(x1, names.arg = label1,col=rainbow(length(x1)))
barplot(x2, names.arg = label2,col ="green")

输出

R语言中的并排条形图

方法2:使用ggplot2

在这里,grid.arrange()被用来在一个框架上排列图。

语法

grid.arrange(plot, nrow, ncol)

参数

  • plot– 我们要安排的ggplot2绘图
  • nrow- 行的数量
  • ncol- 列的数量

在这里,绘图被正常和独立地绘制。然后,以定义网格的方式,用这些图和行数、列数来调用该函数。

例子: 用ggplot绘制多个并排的图。

# Define data-set columns
x1 <- c(31,13,25,31,16)
x2 <- c(12,23,43,12,22,45,32)
x3 <- c(234,123,210)
 
label1 <- c('geek','geek-i-knack','technical-scripter',
            'content-writer','problem-setter')
label2 <- c('sun','mon','tue','wed','thur','fri','sat') 
label3 <- c('solved','attempted','unsolved')
 
# Create data frame using above
# data column
data1 <- data.frame(x1,label1)
data2 <- data.frame(x2,label2)
data3 <- data.frame(x3,label3)
 
# set the plotting area into a 1*3 array
par(mfrow=c(1,3))   
 
# import library ggplot2 and gridExtra
library(ggplot2)
library(gridExtra)
 
# Draw the three bar chart using above datasets
plot1<-ggplot(data1, aes(x=label1, y=x1)) +
geom_bar(stat="identity", width=1, color="white",
         fill=rgb(0.1,0.4,0.5,0.7))
 
plot2<-ggplot(data2, aes(x=label2, y=x2)) +
geom_bar(stat="identity", width=1, color="white",
         fill=rgb(0.1,0.8,0.1,0.7))
 
plot3<-ggplot(data3, aes(x=label3, y=x3)) +
geom_bar(stat="identity", width=1, color="white",
         fill=rgb(0.8,0.4,0.1,0.7))
 
# Use grid.arrange to put plots in columns
grid.arrange(plot1, plot2, plot3, ncol=3)

输出

R语言中的并排条形图

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程