首先整體展示下繪制密度曲線的函數(shù)ggdensity的用法
ggdensity(data, x, y = "..density..", combine = FALSE, merge = FALSE, color = "black", fill = NA, palette = NULL, size = NULL, linetype = "solid", alpha = 0.5, title = NULL, xlab = NULL, ylab = NULL, facet.by = NULL, panel.labs = NULL, short.panel.labs = TRUE, add = c("none", "mean", "median"), add.params = list(linetype = "dashed"), rug = FALSE, label = NULL, font.label = list(size = 11, color = "black"), label.select = NULL, repel = FALSE, label.rectangle = FALSE, ggtheme = theme_pubr(), ...)
data所需的數(shù)據(jù)框 dataframe
x進行作圖所需的數(shù)據(jù)
y設(shè)置為密度/數(shù)量(density/count)
combine對于多個變量的數(shù)據(jù)是否分面
merge對于多個變量的數(shù)據(jù)是否合并,默認是FALSE
color, fill線條顏色與填充色
palette自定義顏色畫板
size設(shè)置點和輪廓的大小
linetype線條類型
alpha透明度設(shè)置
title設(shè)置標題
xlab設(shè)置x軸標題
ylab設(shè)置y軸標題
facet.by設(shè)置分組分面
panel.labs設(shè)置分面各組的標題
short.panel.labs是否縮寫分面標題,邏輯值,默認是TRUE
add添加均值線或中位數(shù)線,選項有"mean" or "median"
add.params給add參數(shù)的對象添加其他參數(shù)/屬性
rug邏輯值,若為TRUE,在X軸上添加地毯線顯示樣本的分布label設(shè)置列標簽
font.label設(shè)置標簽字體
repel邏輯值,是否使用ggrepel避免字體重疊
label.rectangle是否給標簽添加方框
ggtheme設(shè)置畫圖主題
set.seed(4321)
df1 <- data.frame(sex=factor(rep(c("F", "M"), each=200)), weight=c(rnorm(200, 55), rnorm(200, 58)))
str(df1)

ggdensity(df1, x = "weight", fill = "lightgray", add = "mean", rug = TRUE)
# 基礎(chǔ)樣式,添加均值線和地毯線,密度圖展示不同性別分組下體重的分布,X軸為體重,Y軸為自動累計的密度

ggdensity(df1, x="weight", add = "mean", rug = TRUE, color = "sex", fill = "sex", palette ="lancet")
#根據(jù)分組設(shè)置線條顏色和填充,色板選擇的柳葉刀

ggdensity(df1, x="weight", add = "mean", rug = TRUE, color = "sex", fill = "sex", palette = "npg") + xlim(55,60)
限定x軸取值范圍為55-60

ggdensity(df1, #數(shù)據(jù)集
x = "weight", #x軸向量
facet.by = "sex", #分面依據(jù)向量
linetype = "dashed",#選擇線型
add = "mean", #均值線
rug = TRUE, #是否添加地毯線
color = "sex", #顏色分組選擇
fill = "sex", #填充顏色分組
palette = "npg")#色板


ggdensity(df1, #數(shù)據(jù)集
y = "..count..",#縱坐標改為了計數(shù)
x = "weight", #x軸向量
linetype = "dotted",#選擇線型
add = "mean", #均值線
rug = TRUE, #是否添加地毯線
color = "sex", #顏色分組選擇
fill = "sex", #填充顏色分組
palette = "npg")#色板
