箱线图
# 创建一些示例数据
set.seed(123) # 为了可重复性设置随机种子
data <- matrix(rnorm(100), ncol = 5)
# 绘制箱线图
boxplot(data,
main = "Boxplot with Base R",
xlab = "Category",
ylab = "Values",
col = "lightblue",
notch = TRUE)
运行结果:
# 安装和加载ggplot2包
if (!require(ggplot2)) install.packages("ggplot2")
library(ggplot2)
# 转换数据为长格式
data_df <- as.data.frame(data)
data_df$Category <- rep(1:5, each = 4)
data_long <- melt(data_df, id.vars = "Category")
# 使用ggplot2绘制箱线图
ggplot(data_long, aes(x = factor(Category), y = value)) +
geom_boxplot(aes(fill = factor(Category))) +
labs(title = "Boxplot with ggplot2", x = "Category", y = "Values") +
theme_minimal() +
scale_fill_brewer(palette = "Pastel1")
运行结果:
小提琴图
# 安装和加载ggplot2包
if (!require(ggplot2)) install.packages("ggplot2")
library(ggplot2)
# 创建示例数据
set.seed(123) # 设置随机种子以便结果可复现
group <- factor(rep(1:2, each=100)) # 两个组别
values <- c(rnorm(100, mean = 50, sd = 10), rnorm(100, mean = 55, sd = 15)) # 生成随机数据
data_df <- data.frame(group, values)
# 绘制小提琴图
ggplot(data_df, aes(x = group, y = values, fill = group)) +
geom_violin(trim = FALSE) + # 绘制小提琴图,trim=FALSE显示尾部
geom_boxplot(width = 0.1, fill = "white") + # 在小提琴内部添加箱线图
scale_fill_brewer(palette = "Pastel1") + # 设置颜色
labs(title = "Violin Plot Example", x = "Group", y = "Values") +
theme_minimal() # 使用简洁主题
运行结果:
OK,整体画的还不赖,代码基本能拿来就用,适配自己的数据只需要改改参数和输入,代码注释也写得比较详细。