如何更改 R 中回归线的颜色?
回归线主要用于统计模型中,这些模型有助于估计因变量和至少一个自变量之间的关系。在本文中,我们将看看如何使用 R 编程语言中的 ggplot2 绘制回归线以及使用内置数据集更改颜色的不同方法作为示例。
使用的数据集:这里我们使用内置数据框“Orange”,其中包含有关五种不同类型橙树生长的详细信息。数据框有35 行和 3 列。此数据框中的列是:
- 树:根据增加的橙子直径值进行实验的树的排序。
- 年龄:树木自种植以来的年龄。
- 周长:橙子的周长。
首先,我们将绘制散点图。我们将使用函数geom_point()来绘制 ggplot2 库下的散点图。
句法:
geom_point( mapping=NULL, data=NULL, stat=identity, position=”identity”)
基本上,我们正在对橙子的周长与年龄进行比较分析。使用的函数是geom_smooth()绘制平滑线或回归线。
Syntax:
geom_smooth(method=”auto”,se=FALSE,fullrange=TRUE,level=0.95)
Parameter :
- method : The smoothing method is assigned using the keyword loess, lm, glm etc
- lm : linear model, loess : default for smooth lines during small data set observations.
- formula : You can also use formulas for smooth lines. For example : y~poly(x,4) which will plot a smooth line of degree 4. Higher the degree more bends the smooth line will have.
- se : It takes logical values either “TRUE” or “FALSE”.
- fullrange : It takes logical value either “TRUE” or “FALSE”.
- level : By default level is 0.95 for the confidence interval.
让我们首先绘制一个规则图,以便差异明显。
例子:
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 。
句法:
geom_smooth(method=”auto”, color=”color_name”)
颜色代码的格式为“#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()函数编写以下命令:
aes(color=grp_var)
grp_var : The column in the data frame through which grouping is done.
例子:
电阻
# 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( ):该函数用于根据用户的选择手动添加颜色。
句法:
scale_color_manual(values=c(“color1”, “color2” , “color3”,….))
color : color name or color code
例子:
电阻
# 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 为我们提供了包含不同深浅颜色的各种调色板。
句法:
scale_color_brewer(palette=”palette_name”)
palette_name : The name of the palette. In our case we have used the palette “Greens”.
例子:
电阻
# 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()
输出: