R语言 使用ggplot2改变柱状图的颜色

R语言 使用ggplot2改变柱状图的颜色

在这篇文章中,我们将看到使用R编程语言中的ggplot2来改变柱状图颜色的各种方法。

为了创建一个简单的柱状图,我们将使用函数 geom_bar( )

语法

geom_bar(stat, fill, color, width)

参数 :

  • stat : 设置stat参数以确定模式。
  • fill : 代表条形图内部的颜色。
  • color : 代表条形图轮廓的颜色。
  • width : 代表条形图的宽度。

使用中的数据集

在R语言中使用ggplot2改变柱状图的颜色

让我们先绘制一个普通的柱状图,以显示一个没有任何帮助的普通图的打印结果。

例子

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

输出

在R语言中使用ggplot2改变柱状图的颜色

条形图

现在让我们看看如何在柱状图上添加颜色。

方法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
R

输出

在R语言中使用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))
  
# 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

输出

在R语言中使用ggplot2改变柱状图的颜色

  • 相同的轮廓

在这里,我们需要一个命令 色来 给轮廓分配颜色。当填充色为白色时,轮廓的颜色看起来不错。这是颜色的特性,因为有些颜色会掩盖其他颜色,或者如果我们给填充和轮廓分配相同的颜色。由于我们需要相同的填充和轮廓,我们将在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
R

输出

在R语言中使用ggplot2改变柱状图的颜色

  • 不同的轮廓

这里我们需要提供不同的轮廓。填充将是相同的,即白色。填充将在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
R

输出

在R语言中使用ggplot2改变柱状图的颜色

方法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
R

输出

在R语言中使用ggplot2改变柱状图的颜色

同样地,我们可以手动设置轮廓的颜色。只需将上述代码中的关键词 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
R

输出

在R语言中使用ggplot2改变柱状图的颜色

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册