R语言 ggplot2为geom_area图平滑数据
ggplot2包是一个强大且广泛使用的图形可视化包。它可以用来为绘制的图形提供大量的美学映射。这个包在R语言中被广泛使用。该软件包可以通过以下命令下载并安装到工作空间中。
install.packages("ggplot2")
ggplot方法可以用来创建一个ggplot对象。该图形对象通过提供数据和其各自的点来创建图画。数据可以用点和线来绘制。
语法: ggplot(data, aes = )
参数 :
- data – 要绘制的数据
- aes – 美学映射
geom_area方法用于创建一个面积图。它可以作为ggplot方法的一个组件使用。geom_area方法中的alpha参数用于描述基因组的不透明度,其数值范围为0到1的整数值。如果我们选择一个较低的值,这意味着将选择一个更透明的颜色版本来描述图和它的平滑度。我们使用的alpha参数值是1乘以2,这意味着它在本质上是有点半透明的。
语法: geom_area (alpha = )
参数 :
alpha – 用于描述图形的不透明度的参数
ggplot组件中的stat_smooth函数可以用来增强眼睛在已经绘制好的图形中看到的图案。如果我们希望对其进行过度绘制,那么stat_smooth方法就可以发挥作用。
语法: stat_smooth ( geom = ‘area’ , method = ‘loess’, span , alpha , fill)
参数 :
- geom – 用来显示数据的几何对象
- span – 控制曲线的平滑度
- method – 平滑化方法。我们使用loess,因为我们有较少的观测数据。
- fill – 绘制曲线时要填入的颜色
在这种情况下,阿尔法值相当于1/2,因此,绘图顶部的平滑曲线在本质上是不透明的。
# importing the required libraries
library("ggplot2")
library("data.table")
library(tibble)
# creating a data frame
data_frame <- tibble(
col1 = 5:17,
col2 = c(7,5,3,1,5,2,3,5,3,1,7,8,9)
)
# manipulating data frame
data_frame %>%
ggplot(aes(col1, col2)) +
geom_area(alpha = 1/2) +
stat_smooth(
geom = 'area', method = 'loess', span = 1/3,
alpha = 1/2, fill = "blue")
输出:

如果我们将阿尔法的值操纵为1/12,那么重绘曲线就会变成半透明的性质。
# manipulating data frame
data_frame %>%
ggplot(aes(col1, col2)) +
geom_area(alpha = 1/12) +
stat_smooth(
geom = 'area', method = 'loess', span = 1/2,
alpha = 1/12, fill = "blue")
输出:

现在我们可以尝试不同的跨度和阿尔法值,以便更好地理解。让我们试试跨度=1
# manipulating data frame
data_frame %>%
ggplot(aes(col1, col2)) +
geom_area(alpha = 1/12) +
stat_smooth(
geom = 'area', method = 'loess', span = 1,
alpha = 1/12, fill = "green")
输出:

极客教程