在 R 中更改 ggplot2 绘图的填充和边框颜色
在本文中,我们将看到在 R 编程语言中为 ggplot2 添加颜色的各种方法。我们将选择一个条形图作为示例,以了解如何更改条形和边框的填充颜色。
首先,如果之前未在 R Studio 中安装 ggplot2 包,则需要安装它。为了创建一个简单的条形图,我们将使用函数geom_bar()。
Syntax:
geom_bar(stat, fill, color, width)
Parameters :
- stat : Set the stat parameter to identify the mode.
- fill : Represents color inside the bars.
- color : Represents color of outlines of the bars.
- width : Represents width of the bars.
使用中的数据:
让我们首先绘制一个规则图,以便可以明显看出差异。
例子:
R
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
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 different colors to bar plot
perf <-ggplot(data=ODI, aes(x=match, y=runs,fill=match))+
geom_bar(stat="identity")
perf
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
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 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
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 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
R
library(ggplot2)
# Inserting data
ODI <- data.frame(match=c("M-1","M-2","M-3","M-4"),
runs=c(67,37,74,10))
perf <-ggplot(data=ODI, aes(x=match, y=runs,fill=match)) +
geom_bar(stat="identity")
# Assigning fill colors manually
# Assigning custom color
perf+scale_fill_manual(values=c("#9933FF",
"#33FFFF",
"red",
"darkblue"))
# Assigning brewer palette
perf+scale_fill_brewer(palette=""PrGN"")
# Assigning gray scale
perf+scale_fill_grey()
R
library(ggplot2)
# Inserting data
ODI <- data.frame(match=c("M-1","M-2","M-3","M-4"),
runs=c(67,37,74,10))
perf <-ggplot(data=ODI, aes(x=match, y=runs,color=match))+
geom_bar(stat="identity",fill="white")
# Assigning border colors manually
# Assigning custom colors
perf+scale_color_manual(values=c("#9933FF",
"#33FFFF",
"red",
"darkblue"))+theme_classic()
# Assigning brewer palette
perf+scale_color_brewer(palette="Dark2")+theme_classic()
# Assigning gray scale
perf+scale_color_grey()+theme_classic()
输出:
现在让我们讨论可以添加到该图中的颜色。添加颜色不仅使图表吸引人,而且使它们具有描述性以便更好地理解。
方法一:使用默认颜色
- 不同的填充颜色
使用命令fill在条形内添加颜色。由于条形在不同的 x 轴上,我们需要将 x 轴变量分配给填充值。
句法
fill=attribute
您需要在 ggplot2 库下的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 colors to bar plot
perf <-ggplot(data=ODI, aes(x=match, y=runs,fill=match))+
geom_bar(stat="identity")
perf
输出:
- 相同的填充颜色
使用相同的填充。但是这一次,由于我们必须指定一种颜色,因此我们将在 geom_bar() 中使用它。将您选择的颜色分配给填充,如下所示。主题已更改,因为某些颜色图对于 R 中的默认主题可能不可见。
句法:
theme_[theme_name]( )
例子:
电阻
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
输出:
方法二:手动设置颜色
1) 对于填充颜色
要手动更改条形图的颜色,我们将使用以下函数:
- scale_fill_manual() :用于提供自定义颜色。我们可以将颜色代码写为“#XXXXXX”,也可以直接将颜色名称写为“color_name”。
句法:
scale_fill_manual( values )
- scale_fill_brewer() :它使用 RColorBrewer 包中一组调色板中的一系列颜色。
句法:
scale_fill_brewer( palette)
- 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))
perf <-ggplot(data=ODI, aes(x=match, y=runs,fill=match)) +
geom_bar(stat="identity")
# Assigning fill colors manually
# Assigning custom color
perf+scale_fill_manual(values=c("#9933FF",
"#33FFFF",
"red",
"darkblue"))
# Assigning brewer palette
perf+scale_fill_brewer(palette=""PrGN"")
# Assigning gray scale
perf+scale_fill_grey()
输出:
2) 对于边框或轮廓
要手动更改条形图边框的颜色,我们将使用以下函数:
- scale_color_manual():用于提供自定义颜色。我们可以将颜色代码写为“#XXXXXX”,也可以直接将颜色名称写为“color_name”。
句法:
scale_color_manual( values )
- scale_color_brewer( ):它使用 RColorBrewer 包中一组调色板中的一系列颜色。
句法:
scale_color_brewer( palette)
- scale_color_grey( ):根据灰度颜色给出轮廓。
因为,我们需要填充边框,最好使所有条形填充颜色为白色,以便更好地混合颜色,并添加您选择的合适主题。
例子:
电阻
library(ggplot2)
# Inserting data
ODI <- data.frame(match=c("M-1","M-2","M-3","M-4"),
runs=c(67,37,74,10))
perf <-ggplot(data=ODI, aes(x=match, y=runs,color=match))+
geom_bar(stat="identity",fill="white")
# Assigning border colors manually
# Assigning custom colors
perf+scale_color_manual(values=c("#9933FF",
"#33FFFF",
"red",
"darkblue"))+theme_classic()
# Assigning brewer palette
perf+scale_color_brewer(palette="Dark2")+theme_classic()
# Assigning gray scale
perf+scale_color_grey()+theme_classic()
输出: