📜  在 R 中更改 ggplot2 Boxplot 的颜色

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

在 R 中更改 ggplot2 Boxplot 的颜色

在本文中,我们将了解如何在 R 编程语言中使用 ggplot2 更改箱线图的颜色。

我们已经考虑了内置数据框“ChickWeight”。它包含有关六种不同类型食物(如酪蛋白、大豆等)的饲料类型和鸡生长速度的信息。它有两个向量:饲料( x 轴)和重量( y 轴)。

设置默认颜色

  • 相同的轮廓

这里我们将使用color关键字。离群值是位于箱线图须线之外的观测值。我们将为它们保留默认的黑色。使用命令outlier.color为图中的异常值添加颜色。由于我们需要在轮廓中使用相同的颜色,我们将在 geom_boxplot() 中编写命令。

例子:

R
# Same outline color
library(ggplot2)
  
ch <- ggplot(chickwts,aes(x=feed,y=weight))+
      geom_boxplot(color="red",outlier.color="black")
  
ch


R
# Different outline color
library(ggplot2)
  
ch <- ggplot(chickwts,aes(x=feed,y=weight,color=feed))+
      geom_boxplot(outlier.color="black")
  
ch


R
# Same fill color
library(ggplot2)
  
ch <- ggplot(chickwts,aes(x=feed,y=weight))+
      geom_boxplot(fill="violet")
  
ch


R
# Different fill color
library(ggplot2)
  
ch <- ggplot(chickwts,aes(x=feed,y=weight,fill=feed))+
      geom_boxplot()
  
ch


R
library(ggplot2)
  
ch <- ggplot(chickwts,aes(x=feed,y=weight,color=feed))+
      geom_boxplot(outlier.colour = "black")
  
# Assign custom color
ch+scale_color_manual(values=c("#999999", 
                               "purple", 
                               "#33FFFF",
                               "red",
                               "green",
                               "brown"))
# Assign brewer color 
ch+scale_color_brewer(palette="Dark2")
  
# Assign gray scale
ch+scale_color_grey() + theme_classic()


R
library(ggplot2)
  
ch <- ggplot(chickwts,aes(x=feed,y=weight,fill=feed))+
      geom_boxplot()
  
ch
  
# Assign custom color
ch+scale_fill_manual(values=c("#999999", 
                               "purple", 
                               "#33FFFF",
                               "red",
                               "green",
                               "brown"))
  
# Assign brewer color 
ch+scale_fill_brewer(palette="Dark2")
  
# Assign gray scale
ch+scale_fill_grey() + theme_classic()


输出:

  • 不同的轮廓

由于这里的颜色是可变的,我们将在分配给 x 轴值的 ggplot 的 aes() 中写入命令颜色。异常值将具有相同的黑色,因此只在 geom_boxplot() 中写入命令。

例子:

电阻

# Different outline color
library(ggplot2)
  
ch <- ggplot(chickwts,aes(x=feed,y=weight,color=feed))+
      geom_boxplot(outlier.color="black")
  
ch

输出:

  • 相同的填充

在这里,我们将使用关键字fill。由于我们需要在箱线图的填充中使用相同的颜色,我们将在 geom_boxplot() 中编写命令。默认情况下,异常值的填充为黑色。



例子:

电阻

# Same fill color
library(ggplot2)
  
ch <- ggplot(chickwts,aes(x=feed,y=weight))+
      geom_boxplot(fill="violet")
  
ch

输出:

  • 不同的填充

由于这里填充的颜色是可变的,我们将在分配给 x 轴值的 ggplot 的 aes() 中编写命令填充。

例子:

电阻

# Different fill color
library(ggplot2)
  
ch <- ggplot(chickwts,aes(x=feed,y=weight,fill=feed))+
      geom_boxplot()
  
ch

输出:

手动设置颜色

1) 对于轮廓



在这我们使用以下功能:

  • scale_color_manual() :可用的自定义颜色。您可以使用“#XXXXXX”输入颜色代码或简单地写下颜色名称。

句法:

  • scale_color_brewer() : RColorBrewer 包中提供了大量的调色板。

句法:

  • scale_color_grey( ) :用于添加灰度。

例子:

电阻

library(ggplot2)
  
ch <- ggplot(chickwts,aes(x=feed,y=weight,color=feed))+
      geom_boxplot(outlier.colour = "black")
  
# Assign custom color
ch+scale_color_manual(values=c("#999999", 
                               "purple", 
                               "#33FFFF",
                               "red",
                               "green",
                               "brown"))
# Assign brewer color 
ch+scale_color_brewer(palette="Dark2")
  
# Assign gray scale
ch+scale_color_grey() + theme_classic()

输出:

2) 用于填充



同样,我们可以填充箱线图。用于此的功能是:

  • scale_fill_manual( )自定义颜色可用。您可以使用“#XXXXXX”输入颜色代码或简单地写下颜色名称。

句法:

  • scale_fill_brewer() : RColorBrewer 包中提供了大量的调色板。

句法:

  • scale_fill_grey( ) :用于添加灰度。

例子:

电阻

library(ggplot2)
  
ch <- ggplot(chickwts,aes(x=feed,y=weight,fill=feed))+
      geom_boxplot()
  
ch
  
# Assign custom color
ch+scale_fill_manual(values=c("#999999", 
                               "purple", 
                               "#33FFFF",
                               "red",
                               "green",
                               "brown"))
  
# Assign brewer color 
ch+scale_fill_brewer(palette="Dark2")
  
# Assign gray scale
ch+scale_fill_grey() + theme_classic()

输出