📜  在 R 中更改 ggplot2 绘图的填充和边框颜色

📅  最后修改于: 2022-05-13 01:54:56.175000             🧑  作者: Mango

在 R 中更改 ggplot2 绘图的填充和边框颜色

在本文中,我们将看到在 R 编程语言中为 ggplot2 添加颜色的各种方法。我们将选择一个条形图作为示例,以了解如何更改条形和边框的填充颜色。

首先,如果之前未在 R Studio 中安装 ggplot2 包,则需要安装它。为了创建一个简单的条形图,我们将使用函数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))
  
# 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 轴变量分配给填充值。

句法

您需要在 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 中的默认主题可能不可见。

句法:



例子:

电阻

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_brewer() :它使用 RColorBrewer 包中一组调色板中的一系列颜色。

句法:



  • 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_brewer( ):它使用 RColorBrewer 包中一组调色板中的一系列颜色。

句法:

  • 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()

输出: