📜  如何更改 R 中回归线的颜色?

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

如何更改 R 中回归线的颜色?

回归线主要用于统计模型中,这些模型有助于估计因变量和至少一个自变量之间的关系。在本文中,我们将看看如何使用 R 编程语言中的 ggplot2 绘制回归线以及使用内置数据集更改颜色的不同方法作为示例。

使用的数据集:这里我们使用内置数据框“Orange”,其中包含有关五种不同类型橙树生长的详细信息。数据框有35 行和 3 列。此数据框中的列是:

  • 树:根据增加的橙子直径值进行实验的树的排序。
  • 年龄:树木自种植以来的年龄。
  • 周长:橙子的周长。

首先,我们将绘制散点图。我们将使用函数geom_point()来绘制 ggplot2 库下的散点图。

句法:

基本上,我们正在对橙子的周长与年龄进行比较分析。使用的函数是geom_smooth()绘制平滑线或回归线。

让我们首先绘制一个规则图,以便差异明显。

例子:

R
# Scatter Plot and Regression Line
library(ggplot2)
  
ggplt <- ggplot(Orange,aes(x=circumference,y=age))+
         geom_point()+
         geom_smooth(method=lm,se=FALSE,fullrange=TRUE)+
         theme_classic()
ggplt


R
# Change Regression Line Color using name of color
library(ggplot2)
  
ggplt <- ggplot(Orange,aes(x=circumference,y=age))+
         geom_point()+
         geom_smooth(method=lm,se=FALSE,fullrange=TRUE,color="cyan")+
         theme_classic()
ggplt


R
# Change Regression Line Color using Color Code
library(ggplot2)
  
ggplt <- ggplot(Orange,aes(x=circumference,y=age))+
         geom_point()+
         geom_smooth(method=lm,se=FALSE,fullrange=TRUE,color="#006000")+
         theme_classic()
ggplt


R
# Scatter Plot with multiple groups
library(ggplot2)
  
ggplt <- ggplot(Orange,aes(x=circumference,y=age,shape=Tree))+
         geom_point()+
         theme_classic()
  
ggplt
  
# Plotting Regression Lines on the basis
# of groups
ggplt+geom_smooth(method=lm,se=FALSE,fullrange=TRUE)


R
# Scatter Plot
library(ggplot2)
  
ggplt <- ggplot(Orange,aes(x=circumference,y=age,shape=Tree))+
         geom_point()+
         theme_classic()
ggplt
  
# Plotting Regression Lines on the basis of groups
ggplt+geom_smooth(method=lm,se=FALSE,fullrange=TRUE)
  
# Changing color of Regression Lines manually
ggplt+geom_smooth(method=lm,se=FALSE,fullrange=TRUE,aes(color=Tree))


R
# Scatter Plot and Regression Line
library(ggplot2)
  
ggplt <- ggplot(Orange,aes(x=circumference,y=age,shape=Tree,color=Tree))+
         geom_point()+
         geom_smooth(method=lm,se=FALSE,fullrange=TRUE)+
         theme_classic()
  
ggplt
  
# Manually changing color of Regression Lines 
ggplt+scale_color_manual(values=c("Red","Purple","#006000","Brown","Cyan"))


R
# Scatter Plot and Regression Line
library(ggplot2)
  
ggplt <- ggplot(Orange,aes(x=circumference,y=age,shape=Tree,color=Tree))+
         geom_point()+
         geom_smooth(method=lm,se=FALSE,fullrange=TRUE)+
         theme_classic()
  
ggplt
  
# Manually changing color of Regression Lines 
ggplt+scale_color_brewer(palette="Greens")


R
# Scatter Plot and Regression Line
library(ggplot2)
  
ggplt <- ggplot(Orange,aes(x=circumference,y=age,shape=Tree,color=Tree))+
         geom_point()+
         geom_smooth(method=lm,se=FALSE,fullrange=TRUE)+
         theme_classic()
ggplt
  
# Manually changing color of Regression Lines 
ggplt+scale_color_grey()


输出:



默认情况下,回归线为蓝色。要更改颜色,我们必须在 geom_smooth()函数使用关键字color

句法:

颜色代码的格式为“#RedRedBlueBlueGreenGreen”

例子:

电阻

# Change Regression Line Color using name of color
library(ggplot2)
  
ggplt <- ggplot(Orange,aes(x=circumference,y=age))+
         geom_point()+
         geom_smooth(method=lm,se=FALSE,fullrange=TRUE,color="cyan")+
         theme_classic()
ggplt

输出:

例子:



电阻

# Change Regression Line Color using Color Code
library(ggplot2)
  
ggplt <- ggplot(Orange,aes(x=circumference,y=age))+
         geom_point()+
         geom_smooth(method=lm,se=FALSE,fullrange=TRUE,color="#006000")+
         theme_classic()
ggplt

输出:

多条回归线

数据框包含有关五种不同类型橙树的信息。因此,让我们根据“树”组来分离散点。点的形状将基于树的类别。

例子:

电阻

# Scatter Plot with multiple groups
library(ggplot2)
  
ggplt <- ggplot(Orange,aes(x=circumference,y=age,shape=Tree))+
         geom_point()+
         theme_classic()
  
ggplt
  
# Plotting Regression Lines on the basis
# of groups
ggplt+geom_smooth(method=lm,se=FALSE,fullrange=TRUE)

我们可以看到所有回归线的颜色都相同。现在我们将看到两种不同的方法来为多重回归线分配不同的颜色。

方法一:使用颜色

这是由 R 编译器自动分配颜色的默认方法。关键思想是基于 Trees 分配颜色,因为每个 Tree 组都有不同的回归线。因此,我们在geom_smooth()函数编写以下命令:



例子:

电阻

# Scatter Plot
library(ggplot2)
  
ggplt <- ggplot(Orange,aes(x=circumference,y=age,shape=Tree))+
         geom_point()+
         theme_classic()
ggplt
  
# Plotting Regression Lines on the basis of groups
ggplt+geom_smooth(method=lm,se=FALSE,fullrange=TRUE)
  
# Changing color of Regression Lines manually
ggplt+geom_smooth(method=lm,se=FALSE,fullrange=TRUE,aes(color=Tree))

输出:

方法 2:手动更改颜色

1. Scale_color_manual( ):该函数用于根据用户的选择手动添加颜色。

句法:

例子:

电阻

# Scatter Plot and Regression Line
library(ggplot2)
  
ggplt <- ggplot(Orange,aes(x=circumference,y=age,shape=Tree,color=Tree))+
         geom_point()+
         geom_smooth(method=lm,se=FALSE,fullrange=TRUE)+
         theme_classic()
  
ggplt
  
# Manually changing color of Regression Lines 
ggplt+scale_color_manual(values=c("Red","Purple","#006000","Brown","Cyan"))

输出:

2. Scale_color_brewer( ) : R 为我们提供了包含不同深浅颜色的各种调色板。

句法:

例子:



电阻

# Scatter Plot and Regression Line
library(ggplot2)
  
ggplt <- ggplot(Orange,aes(x=circumference,y=age,shape=Tree,color=Tree))+
         geom_point()+
         geom_smooth(method=lm,se=FALSE,fullrange=TRUE)+
         theme_classic()
  
ggplt
  
# Manually changing color of Regression Lines 
ggplt+scale_color_brewer(palette="Greens")

输出:

3. Scale_color_grey( ):用于为回归线分配灰度值。只需调用该函数即可在回归线中添加灰度。

例子:

电阻

# Scatter Plot and Regression Line
library(ggplot2)
  
ggplt <- ggplot(Orange,aes(x=circumference,y=age,shape=Tree,color=Tree))+
         geom_point()+
         geom_smooth(method=lm,se=FALSE,fullrange=TRUE)+
         theme_classic()
ggplt
  
# Manually changing color of Regression Lines 
ggplt+scale_color_grey()

输出: