如何在 R 中使用 ggplot2 制作密度图?
在本文中,我们将看到如何使用 R 编程语言中的 ggtplot2 制作密度图。
要使用 ggplot2 在 R 中创建密度图,我们使用 ggplot2 包的 geom_density()函数。
Syntax: ggplot( aes(x)) + geom_density( fill, color, alpha)
Parameters:
- fill: background color below the plot
- color: the color of the plotline
- alpha: transparency of graph
使用 ggplot2 创建基本密度图
在这里,我们将创建一个密度图。
R
# create dataframe
set.seed(1234)
df <- data.frame(value =round(c(rnorm(200,
mean=100,
sd=7))))
# import libraries ggplot2
library(ggplot2)
# create density plot
ggplot(df, aes(x=value)) + geom_density()
R
# create dataframe
set.seed(1234)
df <- data.frame(value =round(c(rnorm(900,
mean=60,
sd=21))))
# import libraries ggplot2
library(ggplot2)
# create density plot with desired colours
ggplot(df, aes(x=value)) + geom_density(color="green")
R
# create dataframe
set.seed(1234)
df <- data.frame(value =round(c(rnorm(900,
mean=60,
sd=21))))
# import libraries ggplot2
library(ggplot2)
# create density plot with desired colours
ggplot(df, aes(x=value)) + geom_density(fill="#77bd89",
color="#1f6e34",
alpha=0.8)
R
# create dataframe
set.seed(1234)
df <- data.frame(value =round(c(rnorm(9000,
mean=600000,
sd=210000))))
# import libraries ggplot2
library(ggplot2)
# create density plot with log scale
ggplot(df, aes(x=value)) + geom_density() + scale_x_log10()
输出:
颜色定制
要更改颜色,我们使用 geom_density()函数的 color 属性。
电阻
# create dataframe
set.seed(1234)
df <- data.frame(value =round(c(rnorm(900,
mean=60,
sd=21))))
# import libraries ggplot2
library(ggplot2)
# create density plot with desired colours
ggplot(df, aes(x=value)) + geom_density(color="green")
输出:
要更改背景颜色,我们使用geom_density()函数的 fill 属性。
电阻
# create dataframe
set.seed(1234)
df <- data.frame(value =round(c(rnorm(900,
mean=60,
sd=21))))
# import libraries ggplot2
library(ggplot2)
# create density plot with desired colours
ggplot(df, aes(x=value)) + geom_density(fill="#77bd89",
color="#1f6e34",
alpha=0.8)
输出:
日志规模定制:
当 x 或 y 轴数据非常大时,我们可以使用以下方法绘制对数刻度的图。
Syntax: plot+ scale_x_log10()
电阻
# create dataframe
set.seed(1234)
df <- data.frame(value =round(c(rnorm(9000,
mean=600000,
sd=210000))))
# import libraries ggplot2
library(ggplot2)
# create density plot with log scale
ggplot(df, aes(x=value)) + geom_density() + scale_x_log10()
输出: