R编程中的条形图或条形图对于可视化比较数据非常有用。通过查看此条形图或条形图,人们可以了解哪个产品比其他产品表现更好。例如,如果我们想比较不同产品类别和产品颜色的销售情况,我们可以使用此条形图。
让我们看看如何在R编程语言中使用示例创建堆叠条形图,格式化其颜色和边框,添加图例,并并列条形图。
R条形图语法
使用barplot函数在R编程中绘制条形图的语法是
barplot(height, name.args = NULL, col = NULL, main = NULL)
以及条形图背后的复杂语法是
barplot(height, width = 1, space = NULL, name.args = NULL,
legend.text = NULL, beside = FALSE, horiz = FALSE,
density = NULL, angle = 45, col = NULL, border = par("fg"),
main = NULL, sub = NULL, xlab = NULL, ylab = NULL,
xlim = NULL, ylim = NULL, xpd = TRUE, log = "",
axes = TRUE, axisnames = TRUE, cex.axis = par("cex.axis"),
cex.names = par("cex.axis"), inside = TRUE, plot = TRUE,
axis.lty = 0, offset = 0, add = FALSE, args.legend = NULL,…)
R编程中的barplot支持许多参数来生成条形图。以下是实际中最常用的参数。
- height:您可以指定向量或矩阵。如果它是向量,条形图将创建一个矩形条序列,每个条形的高度取决于向量值。如果height是矩阵,并且besides为FALSE,则每个矩阵列代表一个条形,行值创建堆叠的子条形。如果besides为TRUE且height是矩阵,则每个矩阵列代表并列条形。
- width:它是可选的,但您可以使用它来指定条形图的宽度。
- space:请指定您想要在R条形图的每个条形左侧留出的空间量。如果height是矩阵,并且besides为TRUE,您必须为space参数传递两个值,其中第一个值提供相同组条形之间的空间,第二个值是不同列(组)之间的空间。
- names.args:请指定一个名称向量,您想在条形图中的每个条形或条形组下方绘制。如果我们省略此参数,它将从矩阵的列名或height的名称属性(如果它是向量)中获取名称。
- text:请指定一个文本向量,用于构建条形图的图例,或者一个布尔值,指示您是否要包含图例。
- beside:这是一个布尔参数。如果为FALSE,则图的高度列显示为R中的堆叠条形图;如果为TRUE,则列显示为并列条形图。
- horiz:这是一个布尔参数。如果为FALSE,则垂直绘制。如果为TRUE,则水平绘制条形。
- density:请指定阴影线的密度(每英寸行数)。默认值为NULL,表示没有阴影线。
- angle:您可以使用此参数分配阴影线的斜率。
- col:请指定您想在R中的条形图或条形图使用的颜色向量。默认情况下,它使用一组6种颜色。
- border:请指定您想添加到边框的颜色。如果使用border = NA,则会省略边框。
- main:您可以为条形图提供标题。
- sub:您可以提供副标题(如果有)。
- xlab:请指定条形图X轴的标签。
- ylab:请指定Y轴的标签。
- xlim:此参数可以帮助您指定X轴的限制。
- ylim:此参数可以帮助指定条形图Y轴的限制。
- xpad:这是一个布尔参数。您想允许条形超出区域吗?
- log:您必须指定一个包含三个选项的字符串。如果X轴是对数的,则为“x”,如果Y轴是对数的,则为“y”,如果X轴和Y轴都是对数的,则指定“xy”或“yx”。
- axes:这是一个布尔参数。如果为TRUE,则绘制垂直(或水平,如果horiz = TRUE)轴。
- axisnames:这是一个布尔参数。如果为TRUE,并且如果存在arg,则绘制条形图的另一轴(使用lty = 0),并在R条形图中进行标记。
- axis:数值轴标签的扩展因子。
- names:标签的扩展因子。
- inside:这是一个布尔参数。如果为TRUE,则绘制分隔相邻条形的线。我们必须在space = 0时使用此参数。
- plot:这是一个布尔参数。如果为FALSE,则不绘制任何内容。
- lty:这是一个图形参数,应用于类别轴的轴和刻度线。
- offset:请指定一个向量,指示条形相对于X轴应移动多少。
- add:这是一个布尔参数,默认值为FALSE。如果为TRUE,则将条形添加到已存在的图中。
- legend:您想添加到legend()函数的参数列表。
创建基本条形图
在此示例中,我们展示了如何使用R编程中的向量和barplot创建条形图。
首先,我们声明了一个随机数向量。接下来,我们使用barplot函数绘制条形图。从下面的代码片段中,您可以观察到高度是由值决定的。
values <- c(906, 264, 689, 739, 938) barplot(values)

使用CSV和barplot在R中创建条形图
在此示例中,我们使用外部数据或CSV创建条形图。为此,我们使用read.csv函数导入CSV文件中的数据。我建议您参考“读取CSV”文章,以了解在R编程中CSV文件导入的步骤。
getwd()
employee <- read.csv("Products.csv", TRUE, sep = ",",
na.strings = TRUE)
data <- aggregate(employee$SalesAmount,
by=list(employee$Color),
FUN=sum)
print(data)
barplot(data$x, main = "Sales By Product Color")

以下语句从CSV文件导入数据
employee <- read.csv("Products.csv", TRUE, sep = ",",
na.strings = TRUE)
从下面的代码片段中,可以看到我们使用Aggregate函数找到每种颜色的总销售金额。或者说,我们按产品颜色分组的销售金额总和。
data <- aggregate(employee$SalesAmount,
by=list(employee$Color),
FUN=sum)
上面的语句返回一个列表作为输出。因此,我们使用$从列表中提取聚合数据(销售金额总和)。
barplot(data$x, main = "Sales By Product Color")
分配名称
在此条形图示例中,我们使用main,xlab,ylab和names为条形图,X轴,Y轴和单个条形分配名称。
# Assign Names to X, Y Axis Example
barplot(output$x,
main = "Sales By Product Color",
xlab = "Product Colors",
ylab = "Sales",
names = output$Group.1)
使用barplot col更改R条形图颜色
在此示例中,我们使用col参数更改条形图颜色,并使用border参数更改边框颜色。
# Changing Colors of lines and Borders Example
getwd()
employee <- read.csv("Products.csv", TRUE, sep = ",",
na.strings = TRUE)
output <- aggregate(employee$SalesAmount,
by=list(employee$Color),
FUN=sum)
print(output)
barplot(output$x,
main = "Sales By Product Color",
xlab = "Product Colors",
ylab = "Sales",
names = output$Group.1,
col = "chocolate",
border = "red")

提示:要为不同的边框分配颜色,请使用颜色向量。例如,border = c("red", "black", "green", ...)
水平条形图
在此示例中,我们使用barplot horiz参数将默认的垂直条形图更改为水平条形图。我们还使用density参数更改条形密度。
getwd()
employee <- read.csv("Products.csv", TRUE, sep = ",",
na.strings = TRUE)
output <- aggregate(employee$SalesAmount,
by=list(employee$Color),
FUN=sum)
print(output)
barplot(output$x,
main = "Sales By Product Color",
xlab = "Product Colors",
ylab = "Sales",
names = output$Group.1,
col = "chocolate",
horiz = TRUE,
density = 80,
border = "red")

在R编程中创建堆叠条形图
让我们看看如何在这样的编程中创建堆叠条形图,并使用barplot和legend函数为其添加图例。
以下count语句创建了一个包含销售金额和颜色的记录的表。在这里,列值是唯一的颜色,行值是唯一的销售金额。
接下来,我们使用上述指定的表创建堆叠条形图。
getwd()
employee <- read.csv("Products.csv", TRUE, sep = ",", na.strings = TRUE)
count <- table(employee$SalesAmount, employee$Color)
count
cols = c("Black", "Blue", "brown",
"green", "Red", "gray", "White", "Yellow")
barplot(count, col = cols)
legend("topright",
c("Black", "Blue", "Multi", "No Color",
"Red", "Silver", "White", "Yellow"),
fill = cols )

在R编程中创建并列条形图
在此示例中,我们使用beside参数创建并列条形图。
# Juxtaposed Example
getwd()
employee <- read.csv("Products.csv", TRUE, sep = ","
, na.strings = TRUE)
count <- table(employee$SalesAmount, employee$Color)
count
cols = c("Black", "Blue", "brown",
"green", "Red", "gray", "White", "Yellow")
barplot(count, col = cols, beside = TRUE)
legend("topright",
c("Black", "Blue", "Multi", "No Color",
"Red", "Silver", "White", "Yellow"),
fill = cols )

使用矩阵创建条形图
在此示例中,我们使用矩阵值创建条形图。
# Create using Matrix Example
vec <- c(4, 9, 11, 12, 17, 6, 9, 23, 2, 15, 1, 8 )
values <- matrix(vec, nrow = 3, ncol = 4)
values
barplot(values, col = c("brown", "chocolate", "yellow"))

评论已关闭。