R语言 如何改变回归线的颜色
回归线基本上用于统计模型,帮助估计因变量和至少一个自变量之间的关系。在这篇文章中,我们将看到如何使用R编程语言中的ggplot2绘制回归线,并以一个内置的数据集为例介绍改变颜色的不同方法。
使用的数据集: 这里我们使用一个内置的数据框 “Orange”,它包括五种不同类型的橙子树的生长细节。该数据框有 35行和3列。 这个数据框中的列是 。
- Tree。在橙子直径增加的基础上进行实验的树的排序。
- Age:树木的年龄,从它们被种植开始。
- Circumference。橙子的周长。
首先,我们将画一个散点图。我们将使用ggplot2库中的函数 geom_point( ) 来绘制散点图。
语法 。
geom_point( mapping=NULL, data=NULL, stat=identity, position=”identity”)
基本上,我们正在对橙子的周长与年龄进行比较分析。使用的函数是 geom_smooth( ) ,用来绘制平滑线或回归线。
语法。
geom_smooth(method=”auto”,se=FALSE,fullrange=TRUE,level=0.95)
参数:
- method : 使用关键字loess, lm, glm等来指定平滑方法
- lm : 线性模型,loess : 在小数据集观察期间默认为平滑线。
- formula : 公式。你也可以使用平滑线的公式。例如:y~poly(x,4),这将绘制出4度的平滑线。 度数越高,平滑线的弯曲度越大。
- se : 它的逻辑值是 “TRUE “或 “FALSE”。
- fullrange : 它的逻辑值是 “TRUE “或 “FALSE”。
- level:默认情况下,置信区间的水平是0.95。
让我们先画一个普通的图,这样就可以看出差别。
例子 。
# 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
输出 。
默认情况下,回归线是蓝色的。要改变颜色,我们必须在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)
我们可以看到,所有的回归线都是同一颜色。现在我们将看到两种不同的方法,即如何给多条回归线分配不同的颜色。
方法1:使用颜色
这是一种默认的方法,颜色是由R编译器自动分配的。关键的想法是在树的基础上分配颜色,因为每个树组有不同的回归线。因此,我们在 geom_smooth( ) 函数中写下以下命令。
aes(color=grp_var)
grp_var : 数据框中的列,通过它进行分组。
例子 。
# 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 : 颜色名称或颜色代码
例子 。
# 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 : 调色板的名称。在我们的例子中,我们使用了调色板 “绿色”。
例子 。
# 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()
输出 。