# 加载ggplot2包
library(ggplot2)
# 创建一个显示线性关系的数据集
set.seed(123) # 设置随机种子以确保结果可重复
data <- data.frame(
Category = sample(c("A", "B", "C", "D"), 200, replace = TRUE), # 分类变量1
SubCategory = sample(c("X", "Y", "Z"), 200, replace = TRUE), # 分类变量2
ValueX = runif(200, min = 5, max = 15) # X轴的值
)
# 创建一个与ValueX成线性关系的ValueY值
data$ValueY <- 2 * data$ValueX + rnorm(200, mean = 0, sd = 5) # Y = 2X + 正态误差
# 添加一个控制气泡大小的变量
data$Size <- runif(200, min = 30, max = 100)
# 绘制气泡图
ggplot(data, aes(x = ValueX, y = ValueY, size = Size, color = Category)) +
scale_color_brewer(palette = "Set1")+
geom_point(alpha = 0.6) + # 添加气泡图层,设置透明度为0.6以增加美观性
scale_size(name = "Size", range = c(1, 5)) + # 调整气泡大小的范围和图例标题
facet_wrap(~SubCategory) + # 按SubCategory分面展示,为每个子类创建一个面板
theme_bw() + # 使用简洁的主题,以使图形更加清晰
theme(legend.position = "bottom") # 将图例放在底部
结果展示: