R语言 使用ggplot2改变柱状图的颜色
在这篇文章中,我们将看到使用R编程语言中的ggplot2来改变柱状图颜色的各种方法。
为了创建一个简单的柱状图,我们将使用函数 geom_bar( )
语法
geom_bar(stat, fill, color, width)
参数 :
stat : 设置stat参数以确定模式。
fill : 代表条形图内部的颜色。
color : 代表条形图轮廓的颜色。
width : 代表条形图的宽度。
使用中的数据集 。
让我们先绘制一个普通的柱状图,以显示一个没有任何帮助的普通图的打印结果。
例子
library(ggplot2)
# Inserting data
ODI <- data.frame(match=c("M-1","M-2","M-3","M-4"),
runs=c(67,37,74,10))
# Basic vertical barplot
perf <-ggplot(data=ODI, aes(x=match, y=runs))+
geom_bar(stat="identity")
perf
# Horizontal bar plot
perf+coord_flip()
输出
条形图
现在让我们看看如何在柱状图上添加颜色。
方法1:使用默认颜色
不同的填充颜色
使用 fill 命令在条形图中添加颜色。由于这些条形图在不同的X轴上,我们需要将X轴的变量分配给 填充。 在我们的例子中, match 在x轴上,所以我们写 fill=match。 你需要把这个命令写在gesplot2库下的ais()中,也被称为quoting函数或 aesthetic函数。
例子
library(ggplot2)
# Inserting data
ODI <- data.frame(match=c("M-1","M-2","M-3","M-4"),
runs=c(67,37,74,10))
# Assigning default and different colors to bar plot
perf <-ggplot(data=ODI, aes(x=match, y=runs,fill=match))+
geom_bar(stat="identity")
perf
输出
相同的填充颜色
使用相同的 填充。 但是这一次,由于我们必须指定一种颜色,我们将在geom_bar( )中使用它。然后将你选择的颜色分配给填充,如下图所示。改变主题是因为有些颜色的图可能在R的默认主题下是不可见的。
例子
library(ggplot2)
# Inserting data
ODI <- data.frame(match=c("M-1","M-2","M-3","M-4"),
runs=c(67,37,74,10))
# Assigning default and same colors to bar plot
perf <-ggplot(data=ODI, aes(x=match, y=runs))+
geom_bar(stat="identity",fill="lightblue")+
theme_dark()
perf
输出
相同的轮廓
在这里,我们需要一个命令 色来 给轮廓分配颜色。当填充色为白色时,轮廓的颜色看起来不错。这是颜色的特性,因为有些颜色会掩盖其他颜色,或者如果我们给填充和轮廓分配相同的颜色。由于我们需要相同的填充和轮廓,我们将在geom_bar( )中写入这些命令。
例子
library(ggplot2)
# Inserting data
ODI <- data.frame(match=c("M-1","M-2","M-3","M-4"),
runs=c(67,37,74,10))
# Assigning default and same outline colors to bar plot
perf <-ggplot(data=ODI, aes(x=match, y=runs))+
geom_bar(stat="identity",color="red",fill="white")+
theme_classic()
perf
输出
不同的轮廓
这里我们需要提供不同的轮廓。填充将是相同的,即白色。填充将在geom_bar( )中进行。颜色将在 ggplot( )下的 aes( )内,因为它在本例中是变量。
例子
library(ggplot2)
# Inserting data
ODI <- data.frame(match=c("M-1","M-2","M-3","M-4"),
runs=c(67,37,74,10))
# Assigning default and different outline colors to bar plot
perf <-ggplot(data=ODI, aes(x=match, y=runs,color=match))+
geom_bar(stat="identity",fill="white")+
theme_classic()
perf
输出
方法2:手动设置颜色
scale_fill_manual( )
这个函数用来提供自定义颜色。我们可以把颜色代码写成 “#XXXXXX “,也可以直接把颜色名称写成 “color_name “。填充将在ggplot2内部进行,因为我们需要手动为条形图分配不同的颜色。调用该函数并手动插入一个由颜色代码或颜色名称组成的向量。矢量的长度应该与条形图的数量相同。
例子
library(ggplot2)
# Inserting data
ODI <- data.frame(match=c("M-1","M-2","M-3","M-4"),
runs=c(67,37,74,10))
# Assigning colors manually
perf <-ggplot(data=ODI, aes(x=match, y=runs,fill=match))+
geom_bar(stat="identity")+
scale_fill_manual(values=c("#9933FF",
"#33FFFF",
"red",
"darkblue"))
perf
输出
同样地,我们可以手动设置轮廓的颜色。只需将上述代码中的关键词 fill 到处替换为 color 。现在该函数将变成: scale_color_manual( )
灰度
这里使用的函数是scale_fill_grey( )。由于我们需要不同的灰度颜色,所以填充在 aes( )里面。最后调用函数scale_fill_grey( )。
例子
library(ggplot2)
# Inserting data
ODI <- data.frame(match=c("M-1","M-2","M-3","M-4"),
runs=c(67,37,74,10))
# Assigning gray scale colors
perf <-ggplot(data=ODI, aes(x=match, y=runs,fill=match))+
geom_bar(stat="identity")+
scale_fill_grey()
perf
输出