step1: 安装缺失的库
install.packages("ggfun")
install.packages("gcookbook")
step2:导入库
library(ggplot2)
library(ggfun)
library(gcookbook)
step3:使用数据
heightweight <- gcookbook::heightweight
head(heightweight)
这段代码使用了gcookbook包中的heightweight数据集,并展示了该数据集的前几行。
- head(heightweight)用于显示heightweight数据集的前几行,默认显示前6行。这有助于查看数据的结构和内容,以便对数据有一个初步的了解。
step4:画图展示
ggplot(heightweight, aes(heightIn, weightLb)) +
geom_point() +
geom_smooth(method = "lm") +
facet_wrap(~sex) +
theme_bw(base_size = 15)
- ggplot(heightweight, aes(heightIn, weightLb)) 表示使用heightweight数据集,将身高(heightIn)映射到x轴,将体重(weightLb)映射到y轴。
- geom_point() 添加散点图层,展示每个观测点的身高和体重。
- geom_smooth(method = “lm”) 添加拟合曲线,采用线性回归模型进行拟合,以揭示身高和体重之间的趋势。
- facet_wrap(~sex) 根据性别将图形进行分面显示,每个性别对应一个子图。
- theme_bw(base_size = 15) 设置图形主题为黑白,并指定基础字体大小为15。
优化 v2
ggplot(heightweight, aes(heightIn, weightLb)) +
geom_point() +
geom_smooth(method = "lm") +
facet_wrap(~sex) +
theme_bw(base_size = 16) +
facet_set(label = c("f" = "Female", "m" = "Male"))
- theme_bw(base_size = 16) 设置图形主题为黑白,并指定基础字体大小为16。
- facet_set(label = c(“f” = “Female”, “m” = “Male”)) 为每个性别分面添加标签,将"F"标签为"Female",将"M"标签为"Male",以提高分面的可读性。
优化v3
ggplot(heightweight, aes(heightIn, weightLb)) +
geom_point() +
geom_smooth(method = "lm") +
facet_wrap(~sex) +
theme_bw(base_size = 16) +
facet_set(label = c("f" = "Female", "m" = "Male")) +
theme(strip.background = element_roundrect(fill = "pink", color = "black", r = 0.15))
- theme(strip.background = element_roundrect(fill = “pink”, color = “black”, r = 0.15)) 给分面的背景添加了一个圆角矩形形状,填充颜色为粉色,边框颜色为黑色,圆角半径为0.15,以改善分面的外观。